枚举字典迭代键和值
Enumerate Dictionary Iterating Key and Value
我有一个名为 regionspointcount
的字典,其中包含区域名称 (str
) 作为键,以及该区域 (int
) 内一种要素的计数作为值例如{'Highland':21}
.
我想在枚举时迭代字典的键和值。有没有办法做类似的事情:
for i, k, v in enumerate(regionspointcount.items()):
还是我必须求助于使用计数变量?
给定一个字典 d
:
d
# {'A': 1, 'B': 2, 'C': 3, 'D': 4}
您可以使用元组解压 for
循环中的 key-value 对 header。
for i, (k, v) in enumerate(d.items()):
print(i, k, v)
# 0 A 1
# 1 B 2
# 2 C 3
# 3 D 4
要了解为什么需要额外的 parens,请查看 enumerate
:
的原始输出
list(enumerate(d.items()))
# [(0, ('A', 1)), (1, ('B', 2)), (2, ('C', 3)), (3, ('D', 4))]
key-value 对被打包在元组中,所以它们必须以相同的方式解包。
假设你只想枚举key/value对(不需要索引i
),你可以直接迭代d.items()
:
d = {'A': 1, 'B': 2, 'C': 3, 'D': 4}
for k, v in d.items():
print(k, v)
这会打印类似
的内容
A 1
C 3
B 2
D 4
请注意,条目不一定按顺序排列。
我有一个名为 regionspointcount
的字典,其中包含区域名称 (str
) 作为键,以及该区域 (int
) 内一种要素的计数作为值例如{'Highland':21}
.
我想在枚举时迭代字典的键和值。有没有办法做类似的事情:
for i, k, v in enumerate(regionspointcount.items()):
还是我必须求助于使用计数变量?
给定一个字典 d
:
d
# {'A': 1, 'B': 2, 'C': 3, 'D': 4}
您可以使用元组解压 for
循环中的 key-value 对 header。
for i, (k, v) in enumerate(d.items()):
print(i, k, v)
# 0 A 1
# 1 B 2
# 2 C 3
# 3 D 4
要了解为什么需要额外的 parens,请查看 enumerate
:
list(enumerate(d.items()))
# [(0, ('A', 1)), (1, ('B', 2)), (2, ('C', 3)), (3, ('D', 4))]
key-value 对被打包在元组中,所以它们必须以相同的方式解包。
假设你只想枚举key/value对(不需要索引i
),你可以直接迭代d.items()
:
d = {'A': 1, 'B': 2, 'C': 3, 'D': 4}
for k, v in d.items():
print(k, v)
这会打印类似
的内容A 1
C 3
B 2
D 4
请注意,条目不一定按顺序排列。