Python 3:在字典中的列表中查找元素

时间:2017-03-29 03:24:33

标签: list python-3.x dictionary

houses={'apartment':15, 'penthouse':35, 'others':[20,5,70]}

我需要检查然后找20例如。

已经尝试了几个小时 如果你能提供解释和多种解决方案,那就太好了 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您的housesdictionary。它缺少}。它的others键是list,因此你可以像这样访问它的第一个项目:print(houses ['others'] [0])。如果您需要迭代键和值,可以通过以下链接演示以下几种方式:Iterating over dict values 。基本版本是这样的:

houses={'apartment':15, 'penthouse':35, 'others':[20,5,70]}
bool = False
for (k,v) in houses.items():
    if type(v)==list:
        if 20 in v:
            bool = True
            print(k,v)
    if v == 20:
        bool = true
        print(k,v)
print(bool)

答案 1 :(得分:0)

这会查看houses中的所有条目,并在值中查找search。对于每个值,如果它不是集合,它将直接比较。

def is_in_house(search, house):
    for v in houses.values():
        try:
            if search in v:
                return True
        except TypeError:
            if v == search:
                return True
    return False