字典——dictionary
字典有时被称为关联数组或者散列表(hash),相当于Java或者C++中的Map对象
1. 字典特征
- 通过键而不是通过索引来读取
- 字典是任意对象的无序集合
- 字典是可变的,任意嵌套
- 字典的键是唯一的,且是不可变的,可以是数字、字符串、元组,但不能是列表
2. 创建字典
字典形式:dictionary = {key1: value1, key2: value2, key3:value3.......}
-
通过映射函数zip()创建字典
语法:
dictionary = dict(zip(list1, list2))
dict()函数:转换成字典
zip()函数:用于将多个列表或元组对应位置的元素组合为元组,并返回包含这些内容的zip对象。
在Python2.x中,zip()函数返回的内容为包含元组的列表
-
通过给定的”键-值对“创建字典
语法:
dictionary = dict(key1=value1, key2=value2, key3=value3, ...)
-
还可以使用dict对象的fromkeys()方法创建值为空的字典
语法:
dictionary = dict.fromkeys(list1)
3. 修改字典中的值
语法:dictionary[key] = newValue
4. 字典删除的方法
-
dictionary.clear()
作用:清空字典
-
dictionary.pop(key)
作用:删除并返回指定键的元素
-
dictionary.popitem()
作用:删除并返回字典中的最后一个元素
-
del dictionary[key]
注意:使用 del 删除的键-值对永远的删除了
5. 遍历/访问字典
-
使用get()方法获取指定键的值
语法:
dictionary.get(key[, default])
default:为可选项,用于当指定的键不存在是,返回一个默认值,如果省略,返回None
-
通过键-值对遍历字典时需要方法: items()
-
通过键遍历字典时,需要方法: keys()
方法keys()并非只能用来遍历,实际上,它返回一个列表,其中包括字典中的所有键
-
通过值遍历字典,需要使用方法:values(),它返回一个值列表,而不包含任何键
6. 字典推导式
import random
random_number = {i: random.randint(10, 100) for i in range(10)}
print('字典推导式生成的字典为:', random_number)
'''
result:
字典推导式生成的字典为: {0: 27, 1: 62, 2: 77, 3: 74, 4: 80, 5: 53, 6: 39, 7: 54, 8: 14, 9: 50}
'''
name = ['绮梦', '冷伊一', '香凝', '黛兰']
sign = ['水瓶', '天平', '射手', '双鱼']
dictionary = {i: j + '座' for i, j in zip(name, sign)}
print(dictionary)
'''
result:
{'绮梦': '水瓶座', '冷伊一': '天平座', '香凝': '射手座', '黛兰': '双鱼座'}
'''