繁体   English   中英

用于检查Python序列中的多个元素的样式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM