Python/python dictionaries
<languages />
Python字典
字典
字典是无序,可更改和索引的集合。在Python中,字典用大括号括起来,并且具有键和值。
例
创建并打印字典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } print(thisdict)
访问项目
您可以通过在方括号内引用其键名来访问字典的各项:
例
获取“模型”键的值:
x = thisdict["model"]
还有一种方法叫做
get()
那会给你同样的结果:
例
获取“模型”键的值:
x = thisdict.get("model")
变更值
您可以通过参考特定项的键名来更改其值:
例
将“年份”更改为2018:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["year"] = 2018
遍历字典
您可以使用
for
环。
遍历字典时,返回值为 keys 字典的内容,但是有一些方法可以返回 values 同样。
例
逐一打印字典中的所有键名称:
for x in thisdict: print(x)
例
全部列印 values 在字典中,一一列出:
for x in thisdict: print(thisdict[x])
例
你也可以使用
values()
返回字典值的方法:
for x in thisdict.values(): print(x)
例
遍历两者
keys
and
values
,使用
items()
方法:
for x, y in thisdict.items(): print(x, y)
检查密钥是否存在
要确定字典中是否存在指定的键,请使用
in
关键词:
例
检查字典中是否存在“模型”:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } if "model" in thisdict: print("Yes, 'model' is one of the keys in the thisdict dictionary")
字典长度
要确定字典中有多少项(键值对),请使用
len()
功能。
例
打印字典中的项目数:
print(len(thisdict))
新增项目
通过使用新的索引键并为其分配值,可以向字典中添加项目:
例
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict["color"] = "red" print(thisdict)
移除物品
有几种方法可以从字典中删除项目:
例
The
pop()
方法删除具有指定键名的项目:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.pop("model") print(thisdict)
例
The
popitem()
方法删除最后插入的项(在3.7之前的版本中,将删除随机项):
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.popitem() print(thisdict)
例
The
del
关键字删除具有指定键名的项目:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } del thisdict["model"] print(thisdict)
例
The
del
关键字也可以完全删除字典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } del thisdict print(thisdict) #this will cause an error because "thisdict" no longer exists.
例
The
clear()
方法清空字典:
thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964 } thisdict.clear() print(thisdict)
复制字典
您不能仅通过键入以下内容来复制字典
dict2 = dict1
,因为:
dict2
只会是
reference
to
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)
嵌套词典
词典也可以包含许多词典,这被称为嵌套词典。
例
创建一个包含三个词典的字典:
myfamily = { "child1" : { "name" : "Emil", "year" : 2004 }, "child2" : { "name" : "Tobias", "year" : 2007 }, "child3" : { "name" : "Linus", "year" : 2011 } }
或者,如果您想嵌套三个已经作为字典存在的字典:
例
创建三个字典,然后创建一个包含其他三个字典的字典:
child1 = { "name" : "Emil", "year" : 2004 } child2 = { "name" : "Tobias", "year" : 2007 } child3 = { "name" : "Linus", "year" : 2011 } myfamily = { "child1" : child1, "child2" : child2, "child3" : child3 }
dict()构造函数
也可以使用 dict() 构造新字典的构造函数:
例
thisdict = dict(brand="Ford", model="Mustang", year=1964) # note that keywords are not string literals # note the use of equals rather than colon for the assignment print(thisdict)
字典方法
Python具有一组可用于词典的内置方法。
方法 | 描述 |
---|---|
明确() | 从字典中删除所有元素 |
复制() | 返回字典的副本 |
fromkeys() | 返回具有指定键和值的字典 |
得到() | 返回指定键的值 |
items() | 返回一个列表,其中包含每个键值对的元组 |
keys() | 返回包含字典键的列表 |
pop() | 用指定的键删除元素 |
popitem() | 删除最后插入的键值对 |
默认设置() | 返回指定键的值。如果密钥不存在:插入具有指定值的密钥 |
update() | 使用指定的键值对更新字典 |
values() | 返回字典中所有值的列表 |