[英]Style for checking multiple elements in a Python sequence
我经常发现自己在编写这样的代码:
tupla = (1, 2, 3, 4)
if (1 in tupla) and (4 in tupla):
...
有没有Pythonic的方法可以更紧凑地编写此代码,而无需两次键入tupla
?
if all(x in tupla for x in list_of_x):
要么
if set(list_of_x).issubset(set(tupla)):
第一个x
不在tupla
,第一个将停止。 无论如何,第二个都将创建两个集合。
您的代码要问的基本上是
[1,4]是
tupla
的子集吗?
您可以直接表达此问题:
In [14]: set([1, 4]).issubset(tupla)
Out[14]: True
In [15]: set([1, 4, 7]).issubset(tupla)
Out[15]: False
或者,更简洁地说:
In [18]: set([1, 4]) <= set(tupla)
Out[18]: True
In [19]: set([1, 4, 7]) <= set(tupla)
Out[19]: False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.