字典
让我们看看另一种 Python 复合数据类型, 称为 字典,它类似于列表,因为它是对象的集合。
字典和列表具有以下特点:
- 两者都是可变的;
- 两者都是动态的(可以根据需要增长和收缩);
- 两者都可以嵌套(一个列表可以包含另一个列表,一个字典可以包含另一个字典,一个字典也可以包含一个列表,反之亦然)。
字典与列表的不同之处主要在于元素的访问方式:
- 列表元素通过索引在列表中的位置访问;
- 使用键访问字典元素。
字典是一种用 Python 实现的数据结构,更广为人知的名称是关联数组。 字典由一个集合组成of key pairs -value. 每个键值对将键映射到相应的值。
创建字典
您可以通过将逗号分隔的键值对列表括在大括号 ( {} ) 中来定义字典。 冒号 ( : ) 将每个键与其相关的一个值:
d = {
<键>: <值>,
<键>: <值>,
.
.
.
: ;
您可以使用内置的 dict() 函数创建字典。 dict() 参数必须是 key-value 对序列。元组列表适用于此:
d = 字典([
(<键>, <值>),
(<键>, <值),
.
.
.
(<键>, <值>)
])
只需使用 print() 命令即可在屏幕上显示列表的内容。 字典中的条目按创建顺序显示。
|
访问字典元素
要使用字典的元素,它们必须能够以某种方式访问。 如果您不能通过索引获取它们,您如何获取它们?
通过在方括号 ( [] ) 中指定相应的键从字典中检索值。
例如,从上一个任务中创建的字典中显示阿布哈兹的首都:
打印(dict_country['阿布哈兹'])
如果您引用不在字典中的键,Python 会抛出异常:
打印(dict_country['俄罗斯'])
回溯(最近一次通话最后):< /span> 文件 "<...>",行...,在
打印(dict_country[& #39;俄罗斯'])
KeyError: '俄罗斯' ;
向字典添加元素
向现有字典添加条目就像分配新键和值一样简单:
dict_country['俄罗斯'] = '莫斯科'
更新字典条目
如果你想更新一个条目,你可以简单地为一个现有的键分配一个新值:
dict_country['俄罗斯'] = '莫斯科'
从字典中删除条目
要删除条目,请使用 del 运算符,指定要删除的键:
del dict_country[]
虽然访问字典中的元素与顺序无关,但 Python 确保保留字典中元素的顺序。显示时,元素将按照定义的顺序显示,键也将按该顺序重复。添加到字典中的项目在末尾添加。如果删除了元素,则保留剩余元素的顺序。
应该记住,字典的键以及字典的元素可以是不同的类型。字典还可以包含以下内容:
d = {42: [2, 3, 6, 7], 2.78: 'bbb', 真: 1}
print(d[42][1]) # 3 - 要访问嵌套元素,请使用附加键或索引
|
内置字典方法
您学到的有关字符串、列表和元组的一些方法也适用于字典。 例如, in (或 not in )方法允许您确定是否一个特定的键存在于字典中。
并且还允许您浏览字典的所有键。
对于 dict_country 中的键:
打印(键)
您还可以使用 items() 方法遍历键值对。
对于 dict_country.items() 中的键,值:
打印(键,值)
其他常用方法见表。
<表>
<头>
姓名 |
方法 |
描述(示例) |
东西>
<正文>
字典大小 |
len() |
返回字典中的元素个数
<前>
len(dict_country)
|
更新字典 |
更新() |
允许您一次更新多个字典对
<前>
dict_country.update({'俄罗斯': '莫斯科', '亚美尼亚': '埃里温'}) < /pre>
|
按键取值 |
获取() |
允许您通过指定的键获取值。可用于检查字典中是否存在特定键
<前>
dict_country.get('Russia') # 按键返回值,
# 如果没有这样的键,它将返回 None
dict_country.get('Russa', 0) # 如果没有俄罗斯键,它将返回 0
#(而不是0,你可以设置任何值
|
删除密钥 |
弹出() |
pop() 方法删除一个键并返回其对应的值。
<前>
dict_country.pop('巴哈马')
|
字典键 |
键() |
keys() 方法返回字典中的键集合。
<前>
dict_country.keys()
|
字典值 |
值() |
方法 values() 返回字典中值的集合。
<前>
dict_country.values()
|
字典对 |
项目() |
items() 方法返回字典中值的集合。
<前>
dict_country.items()
|
表>
|