如何在for循环中访问多个字典键?
How to access multiple dictionary keys within for loop?
以下是每个值数组有多个键的示例字典:
test_dict = {('CA', 1): [1,2,3,4], ('MT', 45): [5,6,7,8]}
我希望用 itertools
循环键会产生元组:
import itertools
for key, value in test_dict.iteritems():
print key
然而,这会产生每个元组中的第一项
MT
CA
如何在每次迭代中访问元组但仍然可以访问值,例如:
('CA', 1)
('MT', 45)
我的终极目标objective 是能够在每次迭代中为元组编制索引。例如,在此示例中,我将索引元组并访问第二个元组项:
for key, value in test_dict.iteritems():
print key[1]
1
45
您可以使用 list comprehension:
lst = [k for k,v in test_dict.items()]
输出:
[('MT', 45), ('CA', 1)]
获取lst
的元素:
for i in lst:
print (i)
输出:
('MT', 45)
('CA', 1)
...并获取元组的第一个元素:
for i in lst:
print (i[0])
输出:
MT
CA
...或元组的第二个元素:
for i in lst:
print (i[1])
输出:
45
1
改为使用 keys()
方法,这样:
>>> test_dict = {('CA', 1): [1,2,3,4], ('MT', 45): [5,6,7,8]}
>>>
>>> test_dict.keys()
[('MT', 45), ('CA', 1)]
>>> for k in test_dict.keys():
print k
('MT', 45)
('CA', 1)
或者甚至简单地说:
>>> for k in test_dict:
print k
('MT', 45)
('CA', 1)
以下是每个值数组有多个键的示例字典:
test_dict = {('CA', 1): [1,2,3,4], ('MT', 45): [5,6,7,8]}
我希望用 itertools
循环键会产生元组:
import itertools
for key, value in test_dict.iteritems():
print key
然而,这会产生每个元组中的第一项
MT
CA
如何在每次迭代中访问元组但仍然可以访问值,例如:
('CA', 1)
('MT', 45)
我的终极目标objective 是能够在每次迭代中为元组编制索引。例如,在此示例中,我将索引元组并访问第二个元组项:
for key, value in test_dict.iteritems():
print key[1]
1
45
您可以使用 list comprehension:
lst = [k for k,v in test_dict.items()]
输出:
[('MT', 45), ('CA', 1)]
获取lst
的元素:
for i in lst:
print (i)
输出:
('MT', 45)
('CA', 1)
...并获取元组的第一个元素:
for i in lst:
print (i[0])
输出:
MT
CA
...或元组的第二个元素:
for i in lst:
print (i[1])
输出:
45
1
改为使用 keys()
方法,这样:
>>> test_dict = {('CA', 1): [1,2,3,4], ('MT', 45): [5,6,7,8]}
>>>
>>> test_dict.keys()
[('MT', 45), ('CA', 1)]
>>> for k in test_dict.keys():
print k
('MT', 45)
('CA', 1)
或者甚至简单地说:
>>> for k in test_dict:
print k
('MT', 45)
('CA', 1)