什么是字典?
- 在 Python 中,字典与列表类似,也是可变序列的,不过与列表不同,它是无序的可变序列,保存的内容是以
键 - 值对
的形式存放的。
字典的主要特征如下:
-
通过键名来读取而不是通过索引来读取
-
字典是任意对象的无序集合
-
字典是可变的,并且可以任意嵌套
-
字典中的键必须唯一(不允许同一键出现两次,如果出现两次,则后一个值会被记住)
-
字典中的键必须不可变(字典中的键是不可变的,所以可以使用数字、字符串或者元组,但不能使用列表)
字典的创建和删除
- 定义字典时,每个元素都包含两个部分
键
和值
。以水果名称和价格的字典为例。
dictionary = {
'apple': '60',
'pear': '70'
}
- 两种方法创建空字典
dictionary = {}
# 或者
dictionary = dict()
-
通过映射函数创建字典
zip()
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,然后返回由这些元祖组成的列表。利用*
号操作符,可以将元组解压为列表
name = ['依梦', '冷依依', '香凝', '黛兰'] sign = ['水瓶座', '射手座', '双鱼座', '双子座'] dictionary = dict(zip(name, sign)) print(dictionary) # { # '依梦': '水瓶座', # '冷依依': '射手座', # '香凝': '双鱼座', # '黛兰': '双子座' # }
通过给定的关键字参数创建字典
- 将名字和星座以关键字参数形式创建一个字典
dictionary = dict(依梦 = '水瓶座', 冷依依 = '射手座')
- 在 python 中,还可以使用
dict
对象的fromkeys()
方法创建值为空的字典
name_list = ['依梦', '冷依依', '香凝']
dictionary = dict.fromkeys(name_list)
print(dictionary)
# { '依梦': None, '冷依依': None, '香凝': None }
- 同列表和元组一样,不再需要的字典的也可以使用
del
命令删除整个字典。例如,通过下面的代码即可已经定义的字典删除。
dictionary = { '依梦': None, '冷依依': None }
del dictionary
# 如果只是想删除字典的全部元素,还可以使用字典对象 pop() 方法删除并返回指定 '键' 元素
dictionary.clear()