遍历字典
keys()
values()
items()
集合
不同点
集合只能存储不可变对象
集合中存储的元素是无序的
集合不能出现重复的元素
set()
add()
update()
pop()
remove()
celear()
集合的运算
交集运算
差集运算
并集运算
异或集运算
子集,真子集,超集,真超集
遍历字典
keys()
keys()返回的是一个序列,保存的是字典中所有的键
如下:
dct = {'name':'tom','age':'18','job':'teacher'}
for i in dct.keys():
print(i)
打印 结果:
name
age
job
values()
values()返回的是一个序列,保存的是字典中所有的值
如下:
dct = {'name':'tom','age':'18','job':'teacher'}
for i in dct.values():
print(i)
打印结果:
tom
18
teacher
items()
items()返回的是一个序列,返回字典的所有项,包括双值子序列
如下:
dct = {'name':'tom','age':'18','job':'teacher'}
for i,j in dct.items():
print(i,':',j)
打印结果:
name : tom
age : 18
job : teacher
集合(set)
- 集合中的元素是无序的
- 集合中不能出现重复的元素
- 集合只能存储不可变序列
- 集合的创建
- 集合和字典相同都用{},但是集合没有键,只有元素值
- 集合中存贮列表会报错,因为只能存贮不可变序列,而列表是可变的
直接创建:
s = {1,2,3,4}
print(s,type(s))
打印结果:
{1, 2, 3, 4} <class 'set'>
通过set()创建:
s= set([1,2,3,4]) #这里函数中用列表,因为要存储序列
print(s,type(s))
s = set({'name':'tom','age':18}) #用set函数将字典转换为集合仅会保留字典的键
print(s)
打印结果:
{1, 2, 3, 4} <class 'set'>
{'name', 'age'}
集合的修改
add()
add()向集合中添加元素
s = {1,2,3,4,5}
print('修改前',s)
s.add(8)
print('修改后',s)
打印结果:
修改前 {1, 2, 3, 4, 5}
修改后 {1, 2, 3, 4, 5, 8}
update()
update()将一个集合中的元素添加到另一个集合中
s1 = {1,2,3,4,5,6,}
s2 = {7,8,9}
print('修改前',s1)
s1.update(s2)
print('修改后',s1)
打印结果:
修改前 {1, 2, 3, 4, 5, 6}
修改后 {1, 2, 3, 4, 5, 6, 7, 8, 9}
pop()
pop()可以删除集合中随机一个元素,一般为最后一个
s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.pop()
print('修改后',s1)
打印结果:
修改前 {2, 3, 4, 5, 6, 7}
修改后 {3, 4, 5, 6, 7}
remove()
remove()删除集合中指定的元素
s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.remove(4)
print('修改后',s1)
打印结果:
修改前 {2, 3, 4, 5, 6, 7}
修改后 {2, 3, 5, 6, 7}
清空集合
clear()
s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.clear()
print('修改后',s1)
打印结果:
修改前 {2, 3, 4, 5, 6, 7}
修改后 set()
集合的运算
交集运算
交集
python中计算交集的运算符是 “ & ”
s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7}
s3 = s1 & s2
print(s3)
打印结果:
{2, 3, 4, 5, 6, 7}
差集运算
差集
python中计算差集的运算符是 “ - ”
s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1- s2
print(s3)
打印结果:
{1}
也可以用difference()方法
s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1.difference(s2)
print(s3)
打印结果:
{7}
并集运算
并集
python中计算并集的运算符是 “|”
s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1 |s2
print(s3)
打印结果:
{1, 2, 3, 4, 5, 6, 7, 8}
异或集运算
异或集指集合中不相交的部分
python中计算异或集的运算符是 “ ^ ”
s1 = {1, 2, 3, 4, 5, 6, 7}
s2 = {2, 3, 4, 5, 6, 7, 8}
s3 = s1 ^ s2
print(s3)
打印结果:
{1, 8}
子集,真子集,超集,真超集
子集: 如果a集合中的元素全部都在b集合中出现,那么a集合就是b集合的子集,b集合是a集合超集
真子集:如果A是B的子集,并且B中至少有一个元素不属于A,那么集合A叫做集合B的真子集.
”<= “检查一个集合是否另一个集合的子集
“ < ” 检查一个集合是否是另一个集合的真子集
“> = ”检查一个集合是否另一个集合的超集
“ > ” 检查一个集合是否另一个集合的真超集
a = {1,2,3,}
b = {1,2,3,4,5,6}
c= a < b # 如果超集b中含有子集a中所有元素,并且b中还有a中没有的元素,则b就是a的真超集,a是b的真子集
d = a<= b # 第一个集合的所有元素都出现在第二个集合中
e = a> b
f = a >= b
print(c,d,e,f)
打印结果:
True True False False