用Python从字典中获取值的最佳方法
为这个可能是无意义的问题道歉 我有一句话:用Python从字典中获取值的最佳方法,python,dictionary,Python,Dictionary,为这个可能是无意义的问题道歉 我有一句话: 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': []} 我需要对每个值进行查询。 在Pytho
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
我认为可以做得更好。
多谢各位 您可以使用遍历dict的键和值
for key, value in info.items():
#do something with either the key, value or both
(在Python 2中,您可能更喜欢使用而不是items()
)
如果您根本不需要使用这些键,那么可以使用(或者对于Python2)
也许一个列表理解对你有用;在不知道“使用j进行查询”需要什么的情况下,是不可能知道的。您可以使用遍历dict的键和值 (在Python 2中,您可能更喜欢使用而不是
items()
)
如果您根本不需要使用这些键,那么可以使用(或者对于Python2)
也许一个列表理解对你有用;在不知道“使用j进行查询”需要什么的情况下是不可能判断的。是否要迭代每个值中的列表元素?如果不使用该键,可以直接使用:
>>> [option for v in info.values() for option in v]
['option1', 'option2', 'option3', 'option4', 'option5', 'option6', 'option7', 'option8', 'option9', 'option10', 'option11']
是否要迭代每个值中的列表元素?如果不使用该键,可以直接使用:
>>> [option for v in info.values() for option in v]
['option1', 'option2', 'option3', 'option4', 'option5', 'option6', 'option7', 'option8', 'option9', 'option10', 'option11']
对于Python2.x
for key,values in info.iteritems():
print keys,values
使用dict.iteritems()可以迭代字典中的键和值,并进行查询或其他操作
Dict:python2.x的字典名*
for key,values in info.iteritems():
print keys,values
使用dict.iteritems()可以迭代字典中的键和值,并进行查询或其他操作
Dict:字典的名称*您可以这样做:
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
您可以这样做:
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
您能详细说明一下“我需要对每个值进行查询”吗?当然,我需要通过将该元素作为参数发送来进行查询。Ex
query=sql.get\u price(j)
您能详细说明一下“我需要对每个值进行查询”吗?当然,我需要通过将该元素作为参数发送来进行查询。Exquery=sql.get\u price(j)
未给出解释。未给出解释。