python slice表示法中的管道字符有什么作用?

时间:2019-03-25 16:01:56

标签: python

在用于列表和元组的python切片符号中,我注意到管道字符不会引发错误。我不确定它到底能做什么,因为结果似乎有些随机。

testA = [1,2,3,4,5,6,7,8,9]

为此

testA[0:3]

给予

[1, 2, 3]

testA[4:6]

给予

[5,6]

该管道的作用是什么?

testA[0:3|4:6]

它给出了

[1,7]

有什么想法吗?

1 个答案:

答案 0 :(得分:8)

testA[0:3|4:6]

评估为

testA[0 : (3 | 4) : 6]

依次通过按位或求和

testA[0 : 7 : 6]

这对应于步长为6的范围0 : 7。因此,仅使用第一个和最后一个索引。