Python 3.x 如何检查dict中是否有指定值?

Python 3.x 如何检查dict中是否有指定值?,python-3.x,list,dictionary,Python 3.x,List,Dictionary,我正在设置脚本,我需要知道字典中是否有指定的值 dict={“1”:[1,2,3],“2”:[4,5,6]} 事实上,我想从dict值分析所有列表,但我不知道如何翻译 如果dict中有5,如何将变量设置为True 另一个您可以找到解决方案的地方。 重复这句话: 在关键字中使用 对于键,d.items()中的值: 如果值为5: 打印('5 in dict') 打破 使用break可以在找到值后停止循环,并节省时间,而不是迭代整个dict 如果您使用的是python2,请使用iterms(

我正在设置脚本,我需要知道字典中是否有指定的值

dict={“1”:[1,2,3],“2”:[4,5,6]}
事实上,我想从dict值分析所有列表,但我不知道如何翻译

如果dict中有
5
,如何将变量设置为
True

另一个您可以找到解决方案的地方。

  • 重复这句话:

  • 在关键字中使用

对于键,d.items()中的值:
如果值为5:
打印('5 in dict')
打破
  • 使用break可以在找到值后停止循环,并节省时间,而不是迭代整个dict

如果您使用的是python2,请使用
iterms()
而不是
items()

首先,避免将内容分配给内置的名称,如
dict

以下是特定于您的用例的:

mydict = {"1" : [1, 2, 3], "2" : [4, 5, 6]}
for key, vals in mydict.items():
    if 5 in vals:
        print('Dict analyzed')

凌晨2:30在我的手机上这样做是因为我睡不着,所以请容忍我的格式错误

if any(5 in x for x in mydict.values()):
    print("dict analyzed")
这是一种巧妙的蟒蛇式的方法。在较高的级别上,您需要循环使用
mydict.values()
,它提供了
mydict
的一组值(
dict
由键值对组成)。如果其中一个包含5,则打印“dict analysis”


我使用的
any
函数是语法糖;请注意,高层次的想法保持不变

真的非常感谢,它很有效!如果我想返回引用此值的键,我可以从循环中返回键吗?是的,而不是
break
您可以
return key
例如,我如何返回键的索引而不是键?可能重复