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运算符只对序列中的对象起作用。因此,如果一个列表是另一个列表的子列表,那么查找该列表将不起作用。我找到了一种用元组来计算的方法。