多重';在';Python中的运算符?

多重';在';Python中的运算符?,python,Python,是否有一种在字典中查找关键字的速记方法? 我可以在和和运算符中使用多个,而不是使用以下运算符: ('somekey' in d) and ('someotherkey' in d) and ('somekeyggg' in d) 这个怎么了?它看起来非常清晰和优雅,如果你必须为8个或9个键来做它会让人恼火。三键版本不错,也没有任何实际问题。@Gareth:你为什么要添加拆分?@reno很抱歉挑出了错误,但我相信这会是一个错误。这应该改回原来的形式。没有编辑的理由。@Gareth:您可以在自己的

是否有一种在字典中查找关键字的速记方法?

我可以在和和运算符中使用多个
,而不是使用以下运算符:

('somekey' in d) and ('someotherkey' in d) and ('somekeyggg' in d)

这个怎么了?它看起来非常清晰和优雅,如果你必须为8个或9个键来做它会让人恼火。三键版本不错,也没有任何实际问题。@Gareth:你为什么要添加拆分?@reno很抱歉挑出了错误,但我相信这会是一个错误。这应该改回原来的形式。没有编辑的理由。@Gareth:您可以在自己的回答中解释为什么您认为使用字符串和
split()
更好,但是我看不出有什么理由改变其他答案来遵循这种方法。@Marty:这不是你在这里挑的一个毛病:生成器表达式在第一个
单词
上短路,它不在
d
中。列表理解将在调用
all
函数之前创建整个布尔值列表。在生成器表达式中使用
all()
any()
是一个非常酷的特性。
all( word in d for word in [ 'somekey', 'someotherkey', 'somekeyggg' ] )
set(['somekey', 'someotherkey', 'somekeyggg']).issubset(d)