d = {"a1": 11, "a2": 22, "a3": 33}
print(d)
# dict是不能切片的
# 并且只能通过key和value的匹配来获取值
# 当然也不能通过下标来取值
print(d['a1'])
# 11
del d['a2']
print(d)
# {'a1': 11, 'a3': 33}删除某一个元素
d['a2'] = 22
print(d)
# {'a1': 11, 'a3': 33, 'a2': 22}添加元素
print("**********************")
# Demo1 clear 删除所有元素
d.clear()
print(d)
# {}
# Demo2 copy 浅拷贝
d2 = {"a1": 11, "a2": 22, "a3": 33}
d = d2.copy()
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33}
print(id(d), id(d2))
# 4301084928 4301084568
# Demo3 fromkeys 参数需要一个可迭代的对象,如果输入一个字符串那他就是迭代这个字符串,
# 然后将字符串的每一个字符作为一个key去原dict里匹配key,然后组成一个新的dict
# 所以最好使用list作为参数
# 第二个参数是所有key所对应的valuse如果没有,默认为None
d = dict.fromkeys(['a1', 'a3'], 10)
print(d)
# {'a1': 10, 'a3': 10}
d = dict.fromkeys(['a1', 'a2', 'a3'], [1, 2, 3])
print(d)
# 错误用法
# {'a1': [1, 2, 3], 'a2': [1, 2, 3], 'a3': [1, 2, 3]}
# Demo4 get 通过key获取dict的值,第二个参数为默认值(如果没找到,就自动填充默认值,默认为None)
d = {"a1": 11, "a2": 22, "a3": 33}
print(d.get('a2'))
# 22
print(d.get('vvv', "Not Found"))
# Not Found
# Demo 5 items 返回所有元素,包括key和value
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33}
print(d.items())
# dict_items([('a1', 11), ('a2', 22), ('a3', 33)])
# Demo 6 keys 以list的形式返回所有key
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33}
print(d.keys())
# dict_keys(['a1', 'a2', 'a3'])
# Demo 7 pop 根据指定的key删除这一组元素,并且返回值,如果key没找到,返回参数d所赋值的值,默认为None
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33}
print(d.pop('a1'))
# 11
print(d)
# {'a2': 22, 'a3': 33}
print(d.pop('zzz', "Not Found"))
# Not Found
print(d)
# {'a2': 22, 'a3': 33}
# Demo 8 popitem 删除一对数据并且以tuple的形式返回,一般是删除最后一对
d = {"a1": 11, "a2": 22, "a3": 33}
print(d.popitem())
# ('a3', 33)
print(d)
# {'a1': 11, 'a2': 22}
# Demo 9 setdefault 两个参数一个是key,一个valuse
# 如果dict里有这个key,则返回这个key所对应的值,其他不变
# 如果没有,则返回参数value(默认为None),并且在dict内添加这一组元素1
d = {"a1": 11, "a2": 22, "a3": 33}
print(d.setdefault("a1"))
# 11
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33}
print(d.setdefault("a9", 999))
# 999
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33, 'a9': 999}
# Demo 10 update 把一个dict添加到另一个dict内
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33, 'a9': 999}
d.update({11: "aa", 22: "bb", 33: "cc", 44: "dd"})
print(d)
# {'a1': 11, 'a2': 22, 'a3': 33, 'a9': 999, 11: 'aa', 22: 'bb', 33: 'cc', 44: 'dd'}
d = {"a1": 11, "a2": 22, "a3": 33}
d.update({"a1": 111, "a2": 222, "a3": 333})
print(d)
# {'a1': 111, 'a2': 222, 'a3': 333} 如果key相同则更新
# Demo 11 values 以tuple形式返回所有value(所有value会以list形式组成tuple的第一个元素)
print(d)
# {'a1': 111, 'a2': 222, 'a3': 333}
print(d.values())
# dict_values([111, 222, 333])
python3.6 Dict内置方法
最新推荐文章于 2021-10-20 17:15:42 发布