在python字典中找到特定的值

时间:2016-01-28 08:36:13

标签: python dictionary

我遇到了麻烦。这是我的代码,我想检查字典中是否存在特定值。这是我的代码。我认为逻辑是对的,但语法不正确。请帮我。谢谢。

a = [
        {'amount':200, 'currency':'php'},
        {'amount':100, 'currency':'usd'}
        ]

result1 = 200 in a
result2 = 'php' in a
result = result1 and result2

print result

我希望得到'True'的结果

3 个答案:

答案 0 :(得分:2)

该行

result1 = 200 in a

查找值为200的列表元素。 但是你的列表元素是字典。所以你的期望是不可能实现的。

因此,假设您的目标是检查特定值是否包含在列表a的任何元素(即字典)中,您应该写

result1 = any(200 in el.values() for el in a)
result2 = any('php' in el.values() for el in a)

result = result1 and result2
print result

产生

True

答案 1 :(得分:1)

使用iteritems迭代通过字典获取其键和值

a = [
        {'amount':200, 'currency':'php'},
        {'amount':100, 'currency':'usd'}
        ]

for lst in a:
    for k,v in lst.iteritems():
        if 200 == v:
            res1 = 'True'
        if 'php' == v:
            res2 = 'True'
print res1 and res

答案 2 :(得分:0)

您可以执行类似

的操作
a = [
    {'amount':200, 'currency':'php'},
    {'amount':100, 'currency':'usd'}
    ]

for i in a:
    if 200 in i.values():
        result1=True

    if "php" in i.values():
        result2=True

result = result1 and result2
print result