一、字典内包含的内容是一系列键和它们对应的值,字典放在花括号 { } 中,键和值之间用冒号 :分隔,键值对之间用 , 分隔,想储存多少键值对都可以。
eg:
输入:
a = {"zwj": 250, "zzy": 251, 250: "zwj"}
print(a["zwj"])
print(a[250])
# print(a["dog"]) "dog"不存在,会报错
print(a.get("dog"))
# 不会报错
print(a.get("dog", 99))
# 若不存在输出99
输出:
250 zwj None 99
二、操作字典
1、添加键值对
eg:
输入:
a = dict({"zwj": 250, "zzy": 251, 250: "zwj"})
print(a)
a["ww"] = 252
a[251] = 251
print(a)
输出:
{'zwj': 250, 'zzy': 251, 250: 'zwj'}
{'zwj': 250, 'zzy': 251, 250: 'zwj', 'ww': 252, 251: 251}
注:可以创建空字典
eg:
输入:
a = dict([]) a["awj"] = 250 a[250] = "zwj" print(a)
输出:
{'awj': 250, 250: 'zwj'}
2、修改键值对
eg:
输入:
a = {"zwj": 250, 250: "zwj"}
print(a["zwj"])
print(a[250])
a["zwj"] = "dog"
print("zwj")
输出:
250 zwj zwj
3、删除键值对
eg:
(1)使用 del
输入:
a = dict({"zwj": 250, 250: "zwj"})
del a["zwj"]
print(a)
输出;
{250: 'zwj'}
(2)使用 .clear() 清空字典
4、遍历键值对,需要使用函数 .items() 来返回键值对
eg:
输入:
a = dict({"zwj": 250, 250: "zwj", "Zwj": "dog", "dog": "Zwj"})
for key, value in a.items():
print(f"nkey: {key}")
print(f"value: {value}")
输出:
key: zwj value: 250 key: 250 value: zwj key: Zwj value: dog key: dog value: Zwj
注:
输入:
a = {"zwj": 250, "zzy": 251, 250: "zwj"}
ad = list(a.items())
print(ad)
输出:
[('zwj', 250), ('zzy', 251), (250, 'zwj')]
#列表里面的元素用元组表示
5、遍历字典中的键(可用 .keys() ,这样更好理解,但没有也行)
eg:
输入:
a = dict({"zwj": 250, 250: "zwj", "Zwj": "dog", "dog": "Zwj"})
for key in a.keys():
print(f"nkey: {key}")
a = dict({"zwj": 250, 250: "zwj", "Zwj": "dog", "dog": "Zwj"})
for key in a:
print(f"nkey: {key}")
输出:
key: zwj key: 250 key: Zwj key: dog key: zwj key: 250 key: Zwj key: dog
注:
(1)可以对键使用 sorted() ,但不可以使用 .sort() ,准确地说是在字典中都如此
(2)输入:
a = {"zwj": 250, "zzy": 251, 250: "zwj"}
ad = list(a.keys())
print(ad)
adc = list(a.values())
print(adc)
输出:
['zwj', 'zzy', 250] [250, 251, 'zwj']
6、遍历字典中的值(可用 .values() )
eg:
输入:
a = dict({"zwj": "pig", "zzy": "zwj", "ww": "dog", "dog": "Zwj"})
for value in a.values():
print(value.title())
输出:
Pig Zwj Dog Zwj
注:可用 set() 来剔除重复的元素
eg:
输入:
a = dict({"zwj": "pig", "zzy": "zwj", "ww": "dog", "dog": "zwj"})
for value in set(a.values()):
print(value.title())
输出:
Zwj Pig Dog
字典生成式 :
假设有列表:
lst1 = ["fruit", "book", "others"] lst2 = [22, 33, 44]
需要把他们一一对应压缩为字典
输入:
lst1 = ["fruit", "book", "others"]
lst2 = [22, 33, 44]
d = {a.title(): b for a, b in zip(lst1, lst2)}
print(d)
输出:
{'Fruit': 22, 'Book': 33, 'Others': 44}
注:
若元素数量不对等,以元素少的那一个列表为基准



