<分区>
在 python 中,可以使用 is
关键字来检查包含,例如
>>> 3 in [1,2,3,4,5]
True
但是如果它检查单个整数列表是否在引用列表 [1,2,3,4,5]
内,则不会产生相同的输出:
>>> [3] in [1,2,3,4,5]
False
此外,无法通过以下方式检查引用列表中的子序列:
>>> [3,4,5] in [1,2,3,4,5]
False
有没有一种方法可以让函数检查子序列,从而使以下返回 true?,例如函数调用 x_in_y()
:
>>> x_in_y([3,4,5], [1,2,3,4,5])
True
>>> x_in_y([3], [1,2,3,4,5])
True
>>> x_in_y(3, [1,2,3,4,5])
True
>>> x_in_y([2,3], [1,2,3,4,5])
True
>>> x_in_y([2,4], [1,2,3,4,5])
False
>>> x_in_y([1,5], [1,2,3,4,5])
False
也许来自 itertools
或 operator
?
(注意,输入列表可以是非唯一的)