如何根据同一个字典的另一个值获取字典列表中的一个值?
How can I obtain a value in a list of dictionaries based on another value of that same dictionary?
我有以下词典:
inicio=[
{"market":"oranges", "Valor":104.58},
{"market":"apples","Valor":42.55}
]
我想知道如果键 market
的值为 apples
,是否有可能获得值 42.55
。
我正在尝试这样的事情:
for d in inicio:
if key['market']='apples':
print(d['Valor'])
抱歉,我没有包含更多示例,但我对处理字典还很陌生,不确定还能尝试什么。
在您的示例中,d
是您要查找的字典:
for d in inicio:
if d['market']=='apples':
print(d['Valor'])
并使用相等运算符 (==
) 而不是赋值 (=
)
使用此代码
inicio=[
{"market":"oranges", "Valor":104.58},
{"market":"apples","Valor":42.55}
]
print inicio[1]['Valor']
如果您有许多商品的苹果与市场相同,则遍历列表并检查键是否等于苹果,然后检查值。
检查此代码。
for dictionary in inicio:
if dictionary['market'] == 'apples':
print(dictionary['Valor'])
您的代码有效。只需将这一行中的“=”替换为“==”即可:
if d['market'] =='apples':
如果您只需要查找一次,那么您提供的迭代逻辑就可以了。可以在此处应用一种优化 -
for d in inicio:
if d['market']=='apples':
print(d['Valor'])
break # assuming you only need 1 value
但是,如果您需要再次重新运行此逻辑,我建议您可以迭代一次并创建一个值映射。
所以最终结果可能会变成 {'apples' : 42.55, 'oranges': 104.58}
.
再次假设一个市场只有一种勇气。
另一方面,如果每个市场都有很多勇士,您可以迭代一次并创建一个结构,例如
{'apples' : [42.55, 99.99], 'oranges': [104.58, 99.22]}
希望对您有所帮助。
我有以下词典:
inicio=[
{"market":"oranges", "Valor":104.58},
{"market":"apples","Valor":42.55}
]
我想知道如果键 market
的值为 apples
,是否有可能获得值 42.55
。
我正在尝试这样的事情:
for d in inicio:
if key['market']='apples':
print(d['Valor'])
抱歉,我没有包含更多示例,但我对处理字典还很陌生,不确定还能尝试什么。
在您的示例中,d
是您要查找的字典:
for d in inicio:
if d['market']=='apples':
print(d['Valor'])
并使用相等运算符 (==
) 而不是赋值 (=
)
使用此代码
inicio=[
{"market":"oranges", "Valor":104.58},
{"market":"apples","Valor":42.55}
]
print inicio[1]['Valor']
如果您有许多商品的苹果与市场相同,则遍历列表并检查键是否等于苹果,然后检查值。 检查此代码。
for dictionary in inicio:
if dictionary['market'] == 'apples':
print(dictionary['Valor'])
您的代码有效。只需将这一行中的“=”替换为“==”即可:
if d['market'] =='apples':
如果您只需要查找一次,那么您提供的迭代逻辑就可以了。可以在此处应用一种优化 -
for d in inicio:
if d['market']=='apples':
print(d['Valor'])
break # assuming you only need 1 value
但是,如果您需要再次重新运行此逻辑,我建议您可以迭代一次并创建一个值映射。
所以最终结果可能会变成 {'apples' : 42.55, 'oranges': 104.58}
.
再次假设一个市场只有一种勇气。
另一方面,如果每个市场都有很多勇士,您可以迭代一次并创建一个结构,例如
{'apples' : [42.55, 99.99], 'oranges': [104.58, 99.22]}
希望对您有所帮助。