使用in运算符评估列表的子集

Sum*_*mod 1 python

我有以下测试代码.

a = ['a', 'b', 'c', 'd', 'e']
c = a * 3
b = a
Run Code Online (Sandbox Code Playgroud)

b in c返回False.b是c的子序列,列表c包含b.那为什么它会返回虚假?

提前致谢.

小智 5

b in c
Run Code Online (Sandbox Code Playgroud)

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

['a', 'b', 'c', 'd', 'e']
Run Code Online (Sandbox Code Playgroud)

和c看起来像:

['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
Run Code Online (Sandbox Code Playgroud)

换句话说,b不是序列的元素.相反,b是一个子序列.如果你要按如下方式构造c:

c = [a, a, a]
Run Code Online (Sandbox Code Playgroud)

然后c看起来像:

[['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e'], ['a', 'b', 'c', 'd', 'e']]
Run Code Online (Sandbox Code Playgroud)

并且"b in c"将返回True.

希望这可以帮助.