之前讨论的字符串、列表、元组都是有序对象,本节则重点讨论无序对象:字典与集合。
一.字典
列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系。例如L=[‘I’,’love’,’Python’],则有L[0]=’I’,L[1]=’love’,L[2]=’Python’,在这里可以认为0是’I’的键,‘I’是键0的内容,则存在一个键值对的关系。字典相对于列表来说更为灵活,列表的键只能是自然数,而字典的键可以是任何变量名。可以将字典理解为灵活的列表。
下面对字典的属性总结如下:
1.字典通过键值读取
2.任意对象的无序集合
3.可变长、异构、任意嵌套
4.属于可变的映射类型,键与值存在一一映射的关系
5.相当于一个散列表
字典的定义
1.定义
di={'w':123,'l':456,'x':789} 键值对:key:value
字典的元素满足键值一一对应,每一个键值对成为一个item。
空字典:d={} 或 d=dict()
2.取值: 索引取关键字di[‘w’]
3.修改:di[‘w’]=’abc’
特点: 无序
key唯一不可变
字典是可变的
字典的方法
1.>>> di.fromkeys(['a','b','c'],123) #用给定的键建立新的字符串,每一个键有默认值
{'a': 123, 'b': 123, 'c': 123} #字典的键值关系与有序序列的索引关系差不多
2.di.get('r') #存在则返回值,不存在什么也不返回
3.>>> di.items() #查看字典的每一项
dict_items([('w', 123), ('l', 456), ('x', 789)]) #以列表的形式返回
4.di.keys() #查看字典的所有键,以列表的形式返回
5.di.values() #查看字典的所有值,以列表的形式返回
6.di.pop(‘w’) #指定键删除,返回对应的键值并将之删除。若不存在报错
7.di.popitem() #随机删除某一项,并以元组形式返回
9.di.setdefault('l',123) #类似于get,存在就返回值,不存在就更新(添加)到字典
10.di.update(di1) #将di1字典的内容添加并更新到原来的字典di,无则添加,有则覆盖集合
一. 集合的定义
set={1,2,3,4} #不重复
>>> set={1,2,2,4}
>>> set
{1, 2, 4}
特性: 唯一性(集合中不能存在可变的内容如列表)
无序性
>>> set={1,'a',2,4,'b'}
>>> set
{1, 2, 4, 'a', 'b'}
创建一个空集合:A=set()
注意:A={} 是创建一个空字典,而不是集合
二.集合的运算
se1={1,2,3}, se2={2,3,'a'}
并集:| se1|se2 ={1, 2, 3, 'a'}
交集:& se1&se2 ={2, 3}
差集:- se1-se2 ={1} 前面集合减去两个集合重复的部分
与非集:^ se1-se2 ={1, 'a'}
se1.add(5) 添加单个元素
se1.update('asdfg') 添加可迭代对象
se1.remove('f') 指定移除
se1.pop() 随机抛出一个元素
当要取出一个指定的元素是可以把集合转化为序列,然后再取出
list(se)
集合是可变的总结:
不可变:字符串,元组,数值
可变:列表,字典,集合 三.运算符
算术运算符:+,-,*,/,%,**,//
赋值: =,+=,-=,*=,/=,%=,**=
比较运算符: ==,!=,>,<,>=,<=
成员运算符:in,not in
身份运算符:is,not is
逻辑运算符:and,or,not运算顺序:
** 幂运算
+,-,*,/,% 算术运算符
<,>,<=,>= 比较运算符
==,!= 比较运算符
=,%=,/=,-=,+=,*=,**= 赋值运算符
is,not is 身份运算符
in,not in 成员运算符
not>and>or 逻辑运算符
Python中集合和字典
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
带你了解Python中的”容器“:列表、元组、集合、字典
Python中的容器可以解释为:一个包含多个数据项的实体。容器数据类型也称为复合数据类型。
python 列表 元组 集合 字典