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

List Python 3:在字典中的列表中查找元素,list,python-3.x,dictionary,List,Python 3.x,Dictionary,我需要的是检查,然后找到20个,例如 我已经试了好几个小时了。 如果您能提供和解释以及多种解决方案,那就太好了。 提前谢谢。你的房子真是太棒了。但是它缺少一个}。它的others键是,因此您可以像这样访问它的第一项:print House['others'][0]。如果需要迭代键和值,有几种方法,如本链接所示: . 基本版本如下所示: houses={'apartment':15, 'penthouse':35, 'others':[20,5,70]} 这将检查House中的所有条目,并在值中

我需要的是检查,然后找到20个,例如

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

你的房子真是太棒了。但是它缺少一个}。它的others键是,因此您可以像这样访问它的第一项:print House['others'][0]。如果需要迭代键和值,有几种方法,如本链接所示: . 基本版本如下所示:

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

这将检查House中的所有条目,并在值中查找搜索。对于每个值,如果它不是集合,则将直接进行比较

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)

打印20 in house[“others”]?你可以使用any:any20 in v代表k,v in house.items我在上一次评论中遗漏了一个紧括号,应该是:any20 in v代表k,v in house.items谢谢你。它起作用了。但总的来说,我找不到我想要的东西吗?。如果我不知道20在字典里的另一个列表里呢?@Arthurtaca它并不总是起作用。一旦我得到一个True,下一个我得到TypeError:类型为“int”的参数是不可编辑的。大括号已经在我的代码中了。只是错过了这里。但是谢谢你。添加[0]没有帮助,因为我需要先找到数据,然后才能知道数据的位置。可以像以下链接中那样访问字典键和值:作者“使用带两个的listcomp展平列表”用于:
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