Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用in运算符计算列表的子集_Python - Fatal编程技术网

Python 使用in运算符计算列表的子集

Python 使用in运算符计算列表的子集,python,Python,我有以下测试代码 a = ['a', 'b', 'c', 'd', 'e'] c = a * 3 b = a 但是c中的b返回False。b是c的子序列,列表c包含b。那么,为什么它返回错误 提前谢谢 b in c 不工作,因为b看起来像: ['a', 'b', 'c', 'd', 'e'] ['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e'] c看起来像: ['a', 'b', 'c',

我有以下测试代码

a = ['a', 'b', 'c', 'd', 'e']
c = a * 3
b = a
但是c中的
b
返回False。b是c的子序列,列表c包含b。那么,为什么它返回错误

提前谢谢

b in c
不工作,因为b看起来像:

['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
c看起来像:

['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
换句话说,b不是序列的一个元素。相反,b是一个子序列。如果您要按如下方式构造c:

c = [a, a, a]
那么c看起来像:

[['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e']]
“c中的b”将返回True

希望这有帮助

不工作,因为b看起来像:

['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
c看起来像:

['a', 'b', 'c', 'd', 'e']
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
换句话说,b不是序列的一个元素。相反,b是一个子序列。如果您要按如下方式构造c:

c = [a, a, a]
那么c看起来像:

[['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e']]
“c中的b”将返回True

希望这有帮助。

如果您有以下代码:

a = ['a', 'b', 'c', 'd', 'e']
c = [a] * 3
b = a
当你在c中键入
b时,你会得到
True

在这种情况下

c=[a]*3
(a左右带[])

将返回:

['a'、'b'、'c'、'd'、'e']、['a'、'b'、'c'、'd'、'e']、['a'、'b'、'c'、'd'、'e']
如果您有此代码:

a = ['a', 'b', 'c', 'd', 'e']
c = [a] * 3
b = a
当你在c中键入
b时,你会得到
True

在这种情况下

c=[a]*3
(a左右带[])

将返回:


['a','b','c','d','e'],['a','b','c','d','e'],['a','b','c','d','e']

好的。似乎in运算符只对序列中的对象起作用。因此,如果一个列表是另一个列表的子列表,那么查找该列表将不起作用。我找到了一种通过使用tuples来计算的方法。似乎in运算符只对序列中的对象起作用。因此,如果一个列表是另一个列表的子列表,那么查找该列表将不起作用。我找到了一种用元组来计算的方法。