Python 字典
字典
字典是一个无序,可变和索引的集合。在其他语言中也称为map,在Python中字典用大括号编写
{}
,使用键-值(
key-value
)存储,具有极快的查找速度。
实例
创建并打印字典:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(thisdict)
运行实例 »
访问项目
可以通过在方括号内引用其键名来访问字典的项目:
实例
获取“modle”键的值:
x = thisdict["model"]
运行实例 »
还可以调用
get()
的方法得到相同的结果:
实例
获取“model”键的值:
x = thisdict.get("model")
运行实例 »
更改值
可以通过引用其键名来更改特定项的值:
实例
将“year”更改为"2018"年:
thisdict = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
thisdict["year"] = 2018
运行实例 »
遍历字典
使用
for
循环遍历字典 。
循环遍历字典时,可以返回键名(
keys
),返回值(
values
)
实例
打印字典中的所有键名:
for x in thisdict:
print(x)
运行实例 »
实例
打印字典中的所有键值:
for x in thisdict:
print(thisdict[x])
运行实例 »
实例
使用
values()
函数返回字典的值:
for x in thisdict.values():
print(x)
运行实例 »
实例
使用
items()
函数循环遍历
键和
值:
for x, y in thisdict.items():
print(x, y)
运行实例 »
检查键值是否存在
检查键值是否存在可以使用
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()
方法。
实例
打印字典中的项目数:
print(len(thisdict))
运行实例 »
添加项目
通过使用新的索引键并为其分配值,可以将项添加到字典中:
实例
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()
构造函数创建一个新字典:
实例
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有一组可以在字典上使用的内置方法。