对潜在的无聊问题道歉。
我有这个词:
info = {'a': [u'option1'], 'b': [u'option2', u'option3'], 'c': [], 'd': [], 'e': [], 'f': [u'option4', u'option5', u'option6', u'option7', u'option8', u'option9', u'option10', u'option11'], 'g': [], 'h': []}
我需要对每个值进行查询。 在Python中,获取值的最佳方法是什么?
我目前这样做:
keys = info.keys ()
for i in keys:
for j in info [i]:
# Make query with j
我认为可以做得更好。 非常感谢你!
答案 0 :(得分:3)
您可以使用items()
迭代dict的键和值。
for i, js in info.items():
for j in js:
# Make query with j
(在Python 2中,您可能更喜欢使用iteritems()
而不是items()
。)
如果您根本不需要使用密钥,则可以使用values
(或itervalues
用于Python 2)。
for js in info.values():
for j in js:
# Make query with j
列表理解可能对你有用;如果不知道“用j进行查询”需要什么,就不可能分辨出来。
答案 1 :(得分:1)
您想迭代每个值中的列表元素吗?如果您不使用密钥,则可以直接使用dict.values()
:
SyncCustomers
答案 2 :(得分:0)
for key, value in info.items():
#do something with either the key, value or both
答案 3 :(得分:0)
对于Python 2.x
for key,values in info.iteritems():
print keys,values
使用 dict.iteritems(),您可以遍历字典中的键和值并进行查询或任何操作。
Dict:字典的名称*
答案 4 :(得分:0)
你可以这样做:
for vals in info.values():
for j in vals:
# make queries with j
您可以获取所有值的列表,如下所示:
values = [x for vals in info.values() for x in vals]
然后你可以使用
for j in values:
# make queries with j