day8 基本数据类型之字典
day8 基本数据类型之字典
一、字典(dict)
1.用途:
2.定义方式:在{}内用逗号分隔开多个元素,每个元素都是key:value的形式,其中value可以使任意类型,而key必须是不可变类型,通常是字符串类型
dic数据类型转换:
dic = dict([('name','egon'),('age',18)])
print(dic) # 转为字典
输出结果:{'name': 'meng', 'age': 18}
dic = dict(name='meng',age=18,gender='male')
print(dic)
输出结果:{'name': 'meng', 'age': 18, 'gender': 'male'}
3.常用操作+内置的方法
1)、按key存取值:可存可取
dic = {'name':'meng','age':18}
dic['gender'] = 'male' # 可以加入字典里
print(dic['name']) # 按照key值取
输出结果:meng
2)、长度
dic = {'name':'meng','age':18}
print(len(dic)) # 求取字典的长度
输出结果:2
3)、成员运算in和not in
dic = {'name':'meng','age':18}
print('name' in dic)
4)、删除
dic = {'name':'meng','age':18}
del dic['name'] # 删除
print(dic)
输出结果:{'age': 18}
5)、循环
dic = {'name':'meng','age':18}
for i,z in dic.items():
print(i,z)
练习:
nums = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
dic = {'k1':[],'k2':[]}
for num in nums:
if num > 66:
dic['k2'].append(num)
else:
dic['k1'].append(num)
print(dic)
# 总结:字典可以存多个值,是无序的,是可变的。
二、集合类型
1.用途
1)关系运算
2)去重
names = ['egon','tom','jack','egon','egon','egon']
s = set(names)
print(list(s))
2、定义方式:在{}内用逗号分隔开多个元素,集合元素的特点如下
1、集合内元素不能重复
2、集合内的元素必须是不可变类型
3、集合内的元素无序
s = {111,33.333,(1,2,3),111,111,111,111} # s=set(...)
print(s)
1)、set数据类型转换
print(set('hello'))
print(set([(1,2,3),[1,2,3,4,5],(1,2,3)]))
3、常用操作+内置的方法
优先掌握的操作:
1)、长度len
s = {1,2,3}
print(len(s))
2)、成员运算in和not in
s = {1,2,3}
print(1 in s)
pythons = {'张三', '李四', '王五', '刘6', 'egon', 'lili', '李建国'}
linuxs = {'铁蛋', '铜蛋', '钢弹', 'egon', '狗蛋', 'lili'}
3、|合集: 求所有的同学姓名
print(pythons | linuxs)
print(pythons.union(linuxs))
4、&交集: 同时报名两门课程的同学
print(pythons & linuxs)
print(pythons.intersection(linuxs))
pythons = pythons & linuxs
pythons.intersection_update(linuxs)
5、-差集: 求只报名了python课程的同学
print(pythons - linuxs)
print(pythons.difference(linuxs))
pythons.difference_update(linuxs)
print(linuxs - pythons)
6、^对称差集: 求没有同时报名两门课程的同学
s = (pythons - linuxs) | (linuxs - pythons)
s = pythons ^ linuxs
print(s)
s = pythons.symmetric_difference(linuxs)
print(s)
7、==
s1 = {1,2,3}
s2 = {3,1,2}
print(s1 == s2)
8、父集:>=,子集:<=
s1 = {1,2,3}
s2 = {1,2}
s2 = {1,2,4}
print(s1 >= s2)
print(s1.issuperset(s2))
print(s2 <= s1)
print(s2.issubset(s1))
三、文件处理
"""
1 什么是文件
文件是操作系统提供给应用程序或者说用户的一种操作硬盘功能
应用程序----------》
操作系统---------》文件
计算机硬件-------》硬盘
2 为何要处理文件
为了操作硬盘
3 如何处理文件
"""
f = open(r'a.txt',mode='rt',encoding='utf-8') # 打开文件
data = f.read() # 读取文件
print(data)
for line in f:
print(line)
user,pwd = line.strip('\n').split(':')
print(user,pwd)
f.close() # 关闭文件
print(f)
f.read()
day8 基本数据类型之字典的更多相关文章
- Python基础数据类型之字典
基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...
- python基本数据类型之字典
python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...
- python基础一数据类型之字典
摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...
- Python3基础之数据类型(字典)
Python3数据类型之 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({} ...
- Python数据类型-6 字典
字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...
- python数据类型:字典Dictionary
python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...
- python基础数据类型--dict 字典
字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...
- Python开发——数据类型【字典】
字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...
- 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...
随机推荐
- python中yield的理解
首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂 ...
- OpenWrt编译报错:Package airfly_receiver is missing dependencies for the following libraries
今天在编译一个OpenWrt测试用例的时候出现报错 Package airfly_receiver is missing dependencies for the following librarie ...
- Typora使用教程
Typora简介 Typorn 是一款轻便简洁的Markdown编辑器,支持及时渲染技术,这也是与其他Markdown编辑器最显著的区别.及时渲染使得你写Markdown就像是写Word文档一样流畅自 ...
- SpringCloud微服务实战——搭建企业级开发框架(十三):OpenFeign+Ribbon实现高可用重试机制
Spring Cloud OpenFeign 默认是使用Ribbon实现负载均衡和重试机制的,虽然Feign有自己的重试机制,但该功能在Spring Cloud OpenFeign基本用不上,除非 ...
- Django 开发------django-crontab实现服务端的定时任务
一.需求: 想实现类似 Linux 中crontab 的功能.定时执行计划任务. 二.配置: a.安装插件: # pip3 install django-crontab b.在settings.py ...
- Docker安装配置Tomcat
1.使用docker pull tomcat下载镜像(不加tag则是下载最新版本) 2.运行容器(-d 后台运行:-p 指定端口映射),接的是镜像ID 3.进入容器执行命令,接的是容器ID 4.宿主机 ...
- 【前端工具】nodejs+npm+vue 安装(windows)
预备 先看看这几个是干嘛的,相互的关系是啥. nodejs是语言,类比到php. npm是个包管理,类比到composer. vue是个框架,类比到laravel. webpack是个打包工具. 先下 ...
- 线程创建,属性设置与获得,等待线程结束,线程中fork,以及执行exec()
这篇博客的形式我想以分析代码不同情况为主: 点击(此处)折叠或打开 #include<stdio.h> #include<pthread.h> #include<time ...
- .Net Core微服务——网关(2):ocelot集成consul
有consul基础的都知道,consul可以发现新增的服务,剔除掉无效的服务,赋予应用自动伸缩的能力.而ocelot如果集成了consul,那ocelot也能拥有这些能力,还可以自主选择负载均衡策略, ...
- loadrunner奇怪问题解决:TPS中有Action_Transaction 和 vuser_init_Transaction
TPS图里多出两条曲线:Action_Transaction 和 vuser_init_Transaction 如下图: 解决方法: Runtime-Settings-Miscellaneous--A ...