Python 字典
字典
字典是一个无序,可变和索引的集合。在其他语言中也称为map,在Python中字典用大括号编写{}
,使用键-值(key-value
)存储,具有极快的查找速度。
访问项目
可以通过在方括号内引用其键名来访问字典的项目:
还可以调用get()
的方法得到相同的结果:
更改值
可以通过引用其键名来更改特定项的值:
实例
将“year”更改为"2018"年:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["year"] = 2018
遍历字典
使用for
循环遍历字典 。
循环遍历字典时,可以返回键名(keys
),返回值(values
)
检查键值是否存在
检查键值是否存在可以使用in
关键字:
实例
检查字典中是否存在“model”键值:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } if "model" in thisdict: print("Yes, 'model' is one of the keys in the thisdict dictionary")
字典长度
要确定字典有多少项(键值对),请使用该len()
方法。
添加项目
通过使用新的索引键并为其分配值,可以将项添加到字典中:
实例
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["color"] = "red" print(thisdict)
删除项目
有几种方法可以从字典中删除项目:
实例
pop()
方法删除指定键名的项:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.pop("model") print(thisdict)
实例
popitem()
方法删除最后插入的项目(在3.7之前的版本中,删除随机项目):
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.popitem() print(thisdict)
实例
del
关键字删除指定键名称的项目:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } del thisdict["model"] print(thisdict)
实例
del
关键字也可以删除字典完全:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } del thisdict print(thisdict) #this will cause an error because "thisdict" no longer exists.
实例
clear()
关键字清空词典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.clear() print(thisdict)
复制字典
复制 dict 与 list 相似
在列表中不能直接赋值的方式复制列表如:
dict2 =dict1
,这是因为:dict2
仅仅创建了一个新的标签指向了dict1
指向的字典,如果发生变更dict1
,dict2
也会变更。
复制有多种方法如:
一种方法是使用内置的Dictionary方法 copy()
。
实例
使用copy()
方法复制字典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } mydict = thisdict.copy() print(mydict)
可以使用内置方法 dict()
。
实例
使用以下dict()
方法复制字典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } mydict = dict(thisdict) print(mydict)
dict()构造函数
也可以使用dict()
构造函数创建一个新字典:
实例
# note that keywords are not string literals
# note the use of equals rather than colon for the assignment
print(thisdict)
字典方法
Python有一组可以在字典上使用的内置方法。
方法 | 描述 |
---|---|
clear() | 删除字典内所有元素 |
copy() | 返回一个字典的浅复制 |
fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
get() | 返回指定键的值,如果值不在字典中返回default值 |
items() | 以列表返回可遍历的(键, 值) 元组数组 |
keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
pop() | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |
setdefault() | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
update() | 把字典dict2的键/值对更新到dict里 |
values() | 返回一个迭代器,可以使用 list() 来转换为列表 |