Python字典-集合

2021-06-21 14:21:53 浏览数 (1)

字典

  1. #1. 基础操作
  2. name = {'zhang':'10', 'li':'5'}
  3. dict(name) #将列表等转换为字典
  4. name['zhang'] #查询
  5. name['zhang'] = 15 #赋值
  6. del name['zhang'] #删除键值
  7. name = { #可多行写法
  8. 'zhang': '10',
  9. 'li': '5'
  10. }
  11. #2. 遍历
  12. for key,value in name.items():
  13. print(key value)
  14. #3. 其它操作
  15. name.keys() #key
  16. name.values() #所有值
  17. set(name.values()) #变成集合,内容就唯一
  18. name.update(xx) #将其它字典加入到里面
  19. name.items() #返回所有键值对,放在list中为一堆元组
  20. name.clear() #清空字典
  21. name.get('xx','not a value') #查询值,不存在则显示第二个参数
  22. list(name.values()) #将所有value做成一个列表
  23. new = name.copy() #复制
  24. name.setdefault('key','value') #值不存在则覆盖,防止报错
  25. #4. 查询的键不存在,默认显示0,里面放int默认为0,可以做初始化后, 1当计数器用
  26. from collections import defaultdict
  27. name = defaultdict(int) #默认值
  28. name = defaultdict(lambda: 'Huh?') #默认值,也可以是列表,数组
  29. name['xx']

集合

  1. #1. 基础操作
  2. name = set() #空集合
  3. name = {1,2,3} #无序,不允许重复
  4. set('abca') #去除重复,变成集合。若填写字典,则只会读取键
  5. #2. 集合交互
  6. if name & {'a','b'}: #交集运算符,可以查是否在包含其中一种
  7. a & b #2个集合的交集
  8. d.intersection(b) #同上,显示交集
  9. a | b #并集
  10. a.union(b) #并集
  11. a - b #差集,出现在第一个的,不出现在第二个里的
  12. a.difference(b) #差集
  13. a ^ b #异或集,找出不同部分
  14. a.symmetric_difference(b)
  15. a <= b #判断子集,b是否包含a全部内容
  16. a.issubset(b)
  17. a > b #真子集,b是否包含a,并且有其它内容
  18. #3. 迭代
  19. for a,b,c in zip(oen,two,three) #对多个序列进行迭代,会在最短用完停止
  20. dict(zip(one,two)) #将列表做成一个字典
  21. list(range(0,3))
  22. #4. 推导式,生成器只能用一次,被迭代或者调用就没了
  23. name = [number for number in range(1,6)] #显示1-5
  24. name = [number for number in range(1,6) if number %2 == 1]
  25. name = [(a,b) for a in range(1,5) for b in range(2,4)]
  26. name = {a:b for a in range(1,5) for b in range(2,4)} #字典推导式
  27. name = {number for number in range(1,6)} #集合推导式
  28. name = (number for number in range(1,6)) #生成器推导式,返回生成器对象

0 人点赞