字典中每一个成员以“键:值”对的形式成对存在的。字典是以大括号“{}”包围并且以“键:值”对的方式声明和存在的数据集合。字典与列表比较最大的不同是字典是无序的,其成员的位置是象征性的,在字典中通过键来访问成员,而不能通过其他的方式来访问该成员。
1.1.1创建并使用字典在Python程序中,字典可以储存任意类型的对象。字典的每一对键值对“key:value”之间必须用冒号“:”分隔,每一对之间用“,”分隔,整个字典在“{}”中。所有的 key 都是唯一的。
#定义形式:
dict_data = {}
dict_data = dict()
#实操
dict_data = {1: 2, 2: 3} #直接创建一个字典
print(dict_data)
dict_data2 = dict(((1, 2), (2, 3))) #将一个元组转换成字典
dict_data3 = dict([(1, 2), (2, 3)]) #将列表转换成字典
dict_data4 = dict([[1, 2], [2, 3]])
#key value => dict(object) -> 每一次给我提供两个值
print(dict_data2)
print(dict_data3)
print(dict_data4)
# dict_data[key]
print(dict_data[1]) #用 键 取出 键 所对应的 值
print(dict_data[2])
输出结果;
1.1.2字典中的方法
print("t1.copy")
#1.copy()
"""
浅拷贝
"""
dict_data1 = {1: 2, 5: 6, 2: 3}
dict_data2 = dict_data1.copy()
print(dict_data2)
print("nt2.get")
#2.get(self, key, default=None, /)
"""
根据key,获取对应的值。 如果没有匹配到key,则返回None。(在获取值得时候建议使用get()方法
如果使用索引直接去给值,没有匹配到key,虚拟机会抛出异常,程序会崩溃。)
当没有匹配到key时,也可以自己定义放回值,只需给defaolt传值即可。
"""
dict_data = {1: 2, 2: 3}
print(dict_data.get(4))
print(dict_data.get(5, "NotExist"))
print("nt3.items")
#3.items(...) 项目
"""
获取到字典的所有元素 且展示的形式类似于: [(1, 2), (2, 3)]
"""
data = dict_data.items()
print(data, type(data))
print("nt4.keys")
#4. keys(...)
"""
取出字典中所有的key
"""
dict_data = {1: 2, 5: 6, 2: 3}
print(dict_data.keys())
print("nt5.values")
#5.values(...)
"""
取出字典中所有的values
"""
dict_data = {1: 2, 5: 6, 2: 3}
print(dict_data.values())
print("nt6.pop")
#6. pop(...)
"""
弹出并返回。 给函数传入key的值,弹出key所对应的键值对,并返回key所对应的values
"""
dict_data = {1: 2, 5: 6, 2: 3}
data = dict_data.pop(1)
print(data)
print("nt7.popitem")
#7.popitem(...)
"""
移除最后一个元素,并以元组的形式将其返回
"""
dict_data = {1: 2, 5: 6, 2: 3}
print(dict_data)
dict_data.popitem()
print("nt8.setdefault")
#8.setdefault(self, key, default=None, /)
"""
如果插入的key不在字典中,则插入这个key:value(如果values没传的话使用defaul = None)
如果要插入的key在字典中,则什么也不干,然后返回key对应的value
"""
dict_data = {1: 2, 2: 3}
data = dict_data.setdefault(2, 5)
print(data)
print(dict_data)
print("nt9.updata")
#9.updata(...)
"""
将一个字典更新进里一个字典,在原字典中操作
"""
dict_data.update(dict_data2)
dict_data.update([(5, 6), (6, 7)])
输出:



