【发布时间】:2016-01-28 07:05:25
【问题描述】:
在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?
(注意,输入列表可以是非唯一的)
【问题讨论】:
-
我认为这个问题已经得到解答。 stackoverflow.com/questions/2361945/…