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() 返回字典中所有值的列表