Python字典包含了以下内置方法:
- dict.clear():删除字典内所有元素
- dict.copy():返回一个字典的浅复制
- dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
- dict.get(key, default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值
- key in dict:如果键在字典dict里返回true,否则返回false
- dict.items():以列表返回一个视图对象
- dict.keys():返回一个视图对象
- dict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
- dict.update(dict2):把字典dict2的键/值对更新到dict里
- dict.values():返回一个视图对象
- pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
- popitem():随机返回并删除字典中的最后一对键和值。
代码案例:
# 创建字典
dict1 = {'name': 'xiaoming', 'age': 18, 'sex': True, 'floor': 18}
print(dict1)
list1 = ["name", 1, 3.14, True, 1 + 2j, (1, 2, 3)]
list2 = [1, 2, 3, 4, 5, 6]
dict2 = dict([(1, 2), (2, 3), (3, 4)])
print(dict2)
dict3 = dict([(list1[i], list2[i]) for i in range(0, 6)])
print(dict3)
# 增
dict3['age'] = 18
print(dict3)
# 删
del dict3[True]
print(dict3)
# 改
dict3['age'] = 19
print(dict3)
# 查
print(dict3['age'])
dict4 = dict3.copy()
print(dict4)
CHINAESE = 0
MATH = 1
ENGLISH = 2
dict5 = {'zs': (88, 96, 97), 'ls': 85}
print(dict5['zs'][MATH])
# 遍历
for key in dict5:
print(key)
for key in dict5:
print(dict5[key])
dict6 = {1: 2, 3: 4, 5: 6}
print(dict6)
# 浅拷贝
dict7 = dict6.copy()
# dict7 = dict6
dict7[5] = 666
print(dict7)
# 通过key的迭代,构建新的字典,静态方法
dict8 = {}
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
dict8 = dict.fromkeys(tuple1)
print(dict8)
dict8 = dict.fromkeys(tuple1, 0)
print(dict8)
# 查找和查看
print(dict6.get(1)) # 通过key获取值
print(dict6.items()) # 获取键值对
print(dict6.keys()) # 获取key
print(dict6.values()) # 获取值
# 删除
dict6.pop(3) # 根据key删除键值对
print(dict6)
res = dict6.popitem() # 删除最后一个键值对,并返回
print(dict6, res)
# 增加
dict6.setdefault(3, 4) # 添加一个键值对
print(dict6)
dict6.update(dict1) # 将dict1添加到dict6
print(dict6)
# 清空字典
dict6.clear()
print(dict6)
运行结果:
{‘name’: ‘xiaoming’, ‘age’: 18, ‘sex’: True, ‘floor’: 18}
{1: 2, 2: 3, 3: 4}
{‘name’: 1, 1: 4, 3.14: 3, (1+2j): 5, (1, 2, 3): 6}
{‘name’: 1, 1: 4, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 18}
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 18}
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 19}
19
{‘name’: 1, 3.14: 3, (1+2j): 5, (1, 2, 3): 6, ‘age’: 19}
96
zs
ls
(88, 96, 97)
85
{1: 2, 3: 4, 5: 6}
{1: 2, 3: 4, 5: 666}
{1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None, 9: None, 10: None}
{1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0}
2
dict_items([(1, 2), (3, 4), (5, 6)])
dict_keys([1, 3, 5])
dict_values([2, 4, 6])
{1: 2, 5: 6}
{1: 2} (5, 6)
{1: 2, 3: 4}
{1: 2, 3: 4, ‘name’: ‘xiaoming’, ‘age’: 18, ‘sex’: True, ‘floor’: 18}
{}