Python 字典(Dictionary)

坚强是说给别人听的谎言 提交于 2019-11-27 18:11:07

版权所有,未经许可,禁止转载


章节


字典

字典是无序、可修改的键值对集合。在Python中,字典用大括号包裹。

示例

创建并打印一个字典:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
print(thisdict)

访问项目

你可以通过键查询字典:

示例

获取“city”键的值:

x = thisdict["city"]

还有一个方法叫get(),效果相同:

示例

获取“city”键值:

x = thisdict.get("city")

更改值

您可以通过键来更改其值:

示例

将“street”改为"西溪街道":

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
thisdict["street"] = "西溪街道"

遍历字典

您可以使用for循环遍历字典。

遍历字典时,返回值是字典的键,但也可以返回值。

示例

逐个打印字典中的所有键名:

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关键字:

示例

检查字典中是否有“city”:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
if "city" in thisdict:
  print("字典中存在'city'这个键")

字典的长度

要确定一个字典有多少项(键值对),使用len()方法。

示例

打印字典中的条目数:

print(len(thisdict))

添加项目

给字典添加一个项目,是通过给新键赋值:

示例

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
thisdict["borough"] = "拱墅"
print(thisdict)

删除项目

有几种方法可以从字典中删除条目:

示例

pop()方法删除指定键名的项:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
thisdict.pop("city")
print(thisdict)

示例

popitem()方法删除最后插入的项(在3.7之前的版本中,删除的是随机项):

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
thisdict.popitem()
print(thisdict)

示例

del关键字删除指定键名的项:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
del thisdict["model"]
print(thisdict)

示例

del关键字也可以整个删除字典,包括字典自身:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
del thisdict
print(thisdict) # 此处会报错,因为字典已被删除

示例

clear()方法清空字典:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
thisdict.clear()
print(thisdict)

复制一个字典

您不能简单地通过dict2 = dict1来复制字典,dict2只是引用dict1,在dict1中所做的更改将自动体现在dict2中。

复制有多种方法,其中一种方法是使用字典的内置方法copy()

示例

使用copy()方法复制字典:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
mydict = thisdict.copy()
print(mydict)

复制的另一种方法是使用内置的方法dict()

示例

使用dict()方法复制字典:

thisdict =  {
  "province": "浙江",
  "city": "杭州",
  "street": "祥符街道"
}
mydict = dict(thisdict)
print(mydict)

dict() 构造方法

也可以使用dict()构造函数创建一个新字典:

示例

thisdict =  dict(province="浙江", city="杭州", street="祥符街道")
# 注意键不是字符串,没有引号
# 注意在赋值时使用等号而不是冒号
print(thisdict)

字典的方法

Python有一组可以在字典上使用的内置方法。

方法 描述
clear()从字典中删除所有元素
copy()返回字典的副本
fromkeys()返回具有指定键和值的字典
get()返回指定键的值
items()返回包含每个键值对的元组的列表
keys()返回包含字典键的列表
pop()删除具有指定键的元素
popitem()删除最后插入的键值对
setdefault()返回指定键的值。如果键不存在:插入具有指定值的键
update()使用指定的键值对更新字典
values()返回字典中所有值的列表
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!