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 基本数据类型之字典的更多相关文章

  1. Python基础数据类型之字典

      基础数据类型之字典 ps:数据类型划分:可变数据类型和不可变数据类型. 不可变数据类型:元组(tupe).布尔值(bool).整数型(int).字符串(str).不可变数据类型也称为可哈希. 可变 ...

  2. python基本数据类型之字典

    python基本数据类型之字典 python中的字典是以键(key)值(value)对的形式储存数据,基本形式如下: d = {'Bart': 95, 'Michael': 34, 'Lisa': 5 ...

  3. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  4. Python3基础之数据类型(字典)

    Python3数据类型之 字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({} ...

  5. Python数据类型-6 字典

    字典 Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度.但它是无序的,包含的元素个数不限, ...

  6. python数据类型:字典Dictionary

    python数据类型:字典Dictionary 字典是一种可变容器模型,可以存储任意类型对象 键是唯一的,但是值不需要唯一 值可以取任何数据类型,但是键必须是不可变的,如字符串,数字,元组 创建字典: ...

  7. python基础数据类型--dict 字典

    字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必 ...

  8. Python开发——数据类型【字典】

    字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...

  9. 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

    Python从入门到实战系列--目录 字典的定义 字典是另一种可变容器模型,且可存储任意类型对象:使用键-值(key-value)存储,具有极快的查找速度: 字典的每个键值(key=>value ...

随机推荐

  1. UVM:6.2.3 sequencer 的grab 操作

    转载:UVM:6.2.3 sequencer 的grab 操作_tingtang13的博客-CSDN博客 1.grab 比lock 优先级更高. 2.lock 是插到sequencer 仲裁队列的后面 ...

  2. Python pip 和pip3区别 联系

    python 有python2和python3的区别 那么pip也有pip和pip3的区别 大概是这样的 pip是python的包管理工具,pip和pip3版本不同,都位于Scripts\目录下: 如 ...

  3. 关于linux7.x系列下的 systemd 的理解

    历史上Linux的启动一直采用init进程,下面的命令用来启动服务. $ sudo /etc/init.d/apache2 start #或者 $ service apache2 start 这种方法 ...

  4. HashMap 中的一个“坑”!

    最近公司新来了一个小伙伴,问了磊哥一个比较"奇怪"的问题,这个问题本身的难度并不大,但比较"隐蔽",那究竟是什么问题呢?接下来我们一起来看. ​ 起因 最近公司 ...

  5. 几个简单的文本处理工具:diff,patch,grep,cut,sort,tr

    1:文本处理工具:   1:diff and patch : diff是比较文件或者目录的不同,主要有3个用法: diff file1 file2 :比较file1和file2的不同:diff -u ...

  6. 升级JDK8的坎坷之路

    为更好的适应JAVA技术的发展,使用更先进及前沿的技术.所以推出将我们现在使用的JDK1.6(1.7)及tomcat6(7)升级至JDK1.8及tomcat8,使我们的系统获得更好的性能,更好适应未来 ...

  7. SpringCloud升级之路2020.0.x版-30. FeignClient 实现重试

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 需要重试的场景 微服务系统中,会遇到在线发布,一般的发布更新策略是:启动一个新的,启动成功 ...

  8. linux下安装Git并生成SSH key

    系统:contens7.4 1.下载源码解压 wget https://github.com/git/git/archive/v2.3.0.zip unzip v2.3.0.zip cd git-2. ...

  9. Springboot+vue前后端分离项目,poi导出excel提供用户下载的解决方案

    因为我们做的是前后端分离项目 无法采用response.write直接将文件流写出 我们采用阿里云oss 进行保存 再返回的结果对象里面保存我们的文件地址 废话不多说,上代码 Springboot 第 ...

  10. 基于hadoop_yarn的资源隔离配置

    目录 yarn的基本概念 scheduler 集群整体的资源定义 fair scheduler简介 配置demo 队列的资源限制 基于具体资源限制 基于权重资源限制 队列运行状态限制 基于用户和分组限 ...