如何在Python中遍历字典?
字典是Python中有价值且经常使用的数据结构。本文将告诉我们如何在遍历字典时执行其键值对的操作。
阅读更多:Python 教程
使用dict.items()方法
Python的dict.items()方法允许您循环遍历字典。每次循环将为您提供每个项目的键和值。
示例
以下是使用dict.items()方法迭代字典的示例 –
dictionary={
'小说':'傲慢与偏见',
'年份':'1813',
'作者':'简·奥斯汀',
'角色':'伊丽莎白·班纳特'
}
for keys, valuesin dictionary.items():
print(keys,values)
输出
以下是上面代码的输出。
小说 傲慢与偏见
年份 1813
作者 简·奥斯汀
角色 伊丽莎白·班纳特
使用keys()方法
要遍历字典的键,请利用字典提供的keys()方法。返回字典中可用的键的可迭代项。然后,可以使用for循环循环遍历这些键,如下所示。
示例 – 1
以下是使用keys()方法遍历字典的示例 –
dictionary={
'小说':'傲慢与偏见',
'年份':'1813',
'作者':'简·奥斯汀',
'角色':'伊丽莎白·班纳特'
}
for keysin dictionary.keys():
print(keys)
输出
以下是上面代码的输出。
小说
年份
作者
角色
示例 – 2
如果您想在每次迭代时获取键的值,可以使用 get() 方法,如下所示 –
dictionary={
'小说':'傲慢与偏见',
'年份':'1813',
'作者':'简·奥斯汀',
'角色':'伊丽莎白·班纳特'
}
for keysin dictionary.keys():
print(dictionary.get(keys))
输出
以下是上面代码的输出。
傲慢与偏见
1813
简·奥斯汀
伊丽莎白·班纳特
使用values()方法
要遍历字典元素的值,请使用字典提供的values()方法。
返回字典中每个项目的所有值的可迭代项。您可以像下面示例中使用for循环遍历这些值。
示例
这种方法防止访问字典的keys(),这通常是不必要的。因此,使用这种方式迭代字典是最快的方法。
Python字典提供的items()方法允许您遍历字典条目。
以下是使用values()方法迭代字典的示例:
dictionary = {
'Novel': '傲慢与偏见',
'year': '1813',
'author': '简·奥斯汀',
'character': '伊丽莎白·班纳特'
}
for values in dictionary.values():
print(values)
输出结果
以下是上述代码的输出结果–
傲慢与偏见
1813
简·奥斯汀
伊丽莎白·班纳特
遍历键值
可以使用items()方法迭代字典中的键值。
示例
以下是使用索引迭代字典的示例–
dictionary = {
'Novel': '傲慢与偏见',
'year': '1813',
'author': '简·奥斯汀',
'character': '伊丽莎白·班纳特'
}
for index in dictionary:
print(index, dictionary[index])
输出结果
以下是上述代码的输出结果–
小说 傲慢与偏见
年份 1813
作者 简·奥斯汀
角色 伊丽莎白·班纳特
按字母顺序遍历字典
通常,字典不保留任何顺序。这意味着几乎是无序的。在Python中,可以使用sorted()函数按给定顺序遍历字典。首先将项进行排序,然后for循环可以遍历它。
示例
sorted(dictionary.keys()) 按照字典的键排序, for 循环遍历sorted函数返回的键。
以下是按字母顺序迭代字典的示例–
dictionary = {
'Novel': '傲慢与偏见',
'year': '1813',
'author': '简·奥斯汀',
'character': '伊丽莎白·班纳特'
}
for keys in sorted(dictionary.keys()):
print(keys, dictionary[keys])
输出结果
以下是上述代码的输出结果–
小说 傲慢与偏见
作者 简·奥斯汀
角色 伊丽莎白·班纳特
年份 1813
使用字典项值排序
在对字典进行排序之前,必须先生成一个按顺序排列的键的排序集。
排序后的键集可以进行迭代,每次迭代都可以使用键访问字典。
示例
使用 sorted keys = sorted(dictionary,key=dictionary.get) 生成一个已排序的键集合。
for 循环中的 sorted keys 在 values: 上不断重新排序。
sorted_dictionary[values] = dictionary[values] 在排序后的字典中,访问原始字典并添加值。现在,排序后的值将存在于最终的字典中。为了验证结果,需要打印。
以下是使用字典项值排序的示例:
dictionary = {
'Novel': '傲慢与偏见',
'year': '1813',
'author': '简·奥斯汀',
'character': '伊丽莎白·班纳特'
}
sorted_dictionary = {}
sorted_key = sorted(dictionary, key=dictionary.get)
for values in sorted_key:
sorted_dictionary[values] = dictionary[values]
print(sorted_dictionary)
输出
以下是上述代码的输出:
{'year': '1813', 'character': '伊丽莎白·班纳特', 'author': '简·奥斯汀', 'Novel': '傲慢与偏见'}
极客教程