python切片表示法中的管道字符是做什么的?

python切片表示法中的管道字符是做什么的?,python,Python,在列表和元组的python切片表示法中,我注意到管道字符不会抛出错误。我不确定它到底做了什么,因为结果似乎有点随机 testA = [1,2,3,4,5,6,7,8,9] 鉴于此 给予 和 给予 [5,6] 这管子是干什么用的? 它给 [1,7] 有什么想法吗 testA[0:3|4:6] 评估为 testA[0 : (3 | 4) : 6] 这反过来又通过按位或to进行计算 testA[0 : 7 : 6] 这对应于步长为6的范围0:7。因此,只使用了第一个和最后一个索引。@gspr我

在列表和元组的python切片表示法中,我注意到管道字符不会抛出错误。我不确定它到底做了什么,因为结果似乎有点随机

testA = [1,2,3,4,5,6,7,8,9]
鉴于此 给予 和 给予 [5,6]

这管子是干什么用的? 它给 [1,7]

有什么想法吗

testA[0:3|4:6]
评估为

testA[0 : (3 | 4) : 6]
这反过来又通过按位或to进行计算

testA[0 : 7 : 6]

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

@gspr我想这就引出了一个问题,按位或与切片有什么关系?@gspr我不认为这是重复的。答案如下,我不可能从作为副本提供的答案得出这个结论。
testA[0:3|4:6]
testA[0:3|4:6]
testA[0 : (3 | 4) : 6]
testA[0 : 7 : 6]