01.03 笔记-字典的内建函数

比较运算

  • == ,!=

注意:判断两个字典是否相等,只看键值对是否一样,不管键值对的顺序;

  • 字典不支持比较大小 >和<符号
print({'a': 11, 'b': 22} == {'b': 22,'a': 11})

\# print({'a': 11} \> {'b': 0})

in / not in

  • key in 字典 --- 判断字典中指定的key是否存在

  • key not in 字典 --- 判断指定的key是否不存在

dict1 = {'a': 1, 'b': 2, 'c':3}

print('a' in dict1)

print(1 in dict1)

获取字典中键值对的个数

  • len()

获取字典中key的最大值/最小值

  • max() min()

把别的数据类型转换为字典

  • dict(数据) - 数据必须是序列,并且序列中的元素都有两个元素的子序列,任何序列,只要元素是只有两个元素的子序列都行

  • 字典转列表/元组/集合都是将字典中的key取出来作为列表/元组/集合的元素

print(dict([(1,2)]))

相关方法

  • 1.字典.clear() - 清空字典,在内存空间中删除数据,但是不删除内存空间,性能更高
dict1 = {'a': 1, 'b': 2, 'c':3}

dict2 = dict1.copy()

dict2.clear()

print(dict2)

dict2 = {} \# 在容器不存在的时候使用
  • 2.字典.copy() - 复制字典中的元素内容,产生一个新的字典,产生新的地址,赋值后相互不影响
dict1 = {'a': 1, 'b': 2, 'c':3}
dict2 = dict1 \# 复制地址
  • 3.字典.fromkeys(seq, val) - 创建一个新的字典,用seq序列做为键,val作为默认值
dict1 = {'a': 5, 'b': 2}
lisr1 = [1,2,3]
new\_dict = dict1.fromkeys(lisr1, 2)
print(new\_dict) \# {1: 2, 2: 2, 3: 2}
  • 4.字典.keys() - 将字典所有的keys取出产生一个新的序列

  • 4.字典.values() - 将字典所有的values取出产生一个新的序列

  • 4.字典.items() - 将字典所有的key和value做为一个元组取出产生一个新的序列

  • 5.字典.setdefalut(key, value=None) - 若只有key,当key不存在的时候,添加键值对,key:None,若key后有一个value,添加键值对key:value,当key存在的时候,不修改

dict1 = {'a': 5, 'b': 2}

dict1.setdefault('c', 7)

print(dict1)

dict1.setdefault('a', 2)

print(dict1)
  • 6.字典.update(seq) - 序列必须是可以转换为字典的序列,或直接添加一个字典,若键存在,则更新,若键不存在,则修改
dict1 = {'a': 5, 'b': 2}
dict1.update([(1,2), ('a',0)])
print(dict1)

你可能感兴趣的:(01.03 笔记-字典的内建函数)