Python 字典
字典定义
- 使用 花括号
{}创建字典 - 集合是存储唯一键
key到值value的映射的数据结构,是可变无序的数据类型 - 键的类型为任何 不可变类型,可以是字符串、整数或元组等
- 键与值使用冒号
:分隔,每一对元素使用逗号,分隔 - 值可以使用嵌套,构建出复杂的数据结构
使用字典
查询元素
- 使用 方括号
[]查询字典中该键对应的值,形式为dic_name["key_name"] in运算符检查特定键是否在字典中,类似的还有not in运算符get方法查找字典中是否有特定键,当不存在时,返回None(或用户设置的默认值);存在时返回特定值
python
elements = {"hydrogen": 1, "helium": 2, "carbon": 6}
# 设定当 get 方法无法查找到特定键时,返回的提示语,使用户更容易理解
result = elements.get('kryptonite', 'There\'s no such element!')
print(result)
🔨 编译结果
shell
"There's no such element!"
遍历元素
类似于列表,字典也可以使用 for 循环遍历其元素
- 默认是对于字典里的键进行遍历,相当于遍历
dic.keys()pythonfor key in dic: code... for key in dic.keys(): code... - 遍历
dic.values()返回字典的值pythonfor value in dic.values(): code... - 遍历
dic.items()以元组的形式返回字典的完整条目,可以将整个条目赋值给循环变量;也可以将元组解包,即键和值分别赋值给各自的变量。python>>> favorites = {'color': 'purple', 'number': 42, 'animal': 'turtle', 'language': 'python'} >>> for entry in dic.items(): print(entry) # 输出键值对的元组形式输出每个条目,其中并以逗号分隔 ('color', 'purple') ('number', 42) ('animal', 'turtle') ('language', 'python') >>> for key, value in favorites.items(): print(key) print(value)
修改元素
通过赋值符号,将值赋予已有的键标记的字典,如 dic["key_name"] = new_value
python
# 在原有字符串后增添
d["squid"] += " that eats fish, crabs, and wayward elephants."
删除元素
使用语句 del dic['key_name] 删除字典中的元素
python
>>> d = {'fish': 'salmon', 'cat': 'lion'}
>>> del d['fish']
>>> print(d)
{'cat': 'lion'}
复合数据
使用嵌套形式 ,以字典作为值 value 则可以增加存储内容的复杂度
索引复合数据可以通过类似的查询方式
python
elements = {
"hydrogen": {
"number": 1,
"weight": 1.00794,
"symbol": "H"
},
"helium": {
"number": 2,
"weight": 4.002602,
"symbol": "He"
}
}
helium = elements["helium"] # get the helium dictionary
hydrogen_weight = elements["hydrogen"]["weight"] # get hydrogen's weight
print(helium)
print(hydrogen)
🔨 编译结果
shell
{"number": 2, "weight": 4.002602, "symbol": "He"}
4.002602