Python 循环字典
与列表、元组或字符串不同,Python中的字典数据类型不是序列,因为项目没有位置索引。然而,仍然可以使用不同的技术遍历字典。
示例1
运行一个简单的 for 循环遍历字典对象中使用的键。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
for x in numbers:
print (x)
它将产生以下 输出 −
10
20
30
40
示例2
一旦我们能够获得键,通过使用方括号操作符或使用get()方法,其关联的值可以很容易地访问。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
for x in numbers:
print (x,":",numbers[x])
它将产生以下 输出 −
10 : Ten
20 : Twenty
30 : Thirty
40 : Forty
dict类的items()、keys()和values()方法分别返回视图对象dict_items、dict_keys和dict_values。这些对象都是可迭代器,因此我们可以用for循环遍历它们。
示例3
dict_items对象是一个键值元组的列表,可以通过for循环进行遍历,如下所示:
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
for x in numbers.items():
print (x)
这将产生以下 输出 −
(10, 'Ten')
(20, 'Twenty')
(30, 'Thirty')
(40, 'Forty')
在这里,“x”是从dict_items迭代器中的元组元素。我们可以进一步将这个元组拆分成两个不同的变量。
示例4
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
for x,y in numbers.items():
print (x,":", y)
它将产生以下 输出 −
10 : Ten
20 : Twenty
30 : Thirty
40 : Forty
示例5
同样地,可以迭代 dict_keys 对象中的键的集合。
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
for x in numbers.keys():
print (x, ":", numbers[x])
dict_keys和dict_values中的键和值在相同的索引处。在下面的例子中,我们有一个从0到字典长度的for循环,使用循环变量作为索引,并打印键和其对应的值。
示例6
numbers = {10:"Ten", 20:"Twenty", 30:"Thirty",40:"Forty"}
l = len(numbers)
for x in range(l):
print (list(numbers.keys())[x], ":", list(numbers.values())[x])
上面的两个代码片段产生相同的 输出 –
10 : Ten
20 : Twenty
30 : Thirty
40 : Forty