【问题标题】:What does a pipe character in python slice notation do? [duplicate]python slice 表示法中的管道字符有什么作用? [复制]
【发布时间】:2019-08-15 22:25:30
【问题描述】:

在列表和元组的 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]

有什么想法吗?

【问题讨论】:

  • @gspr 我想这引出了一个问题,按位或对切片有什么作用?
  • @gspr 我不认为这是重复的。它在下面得到了回答,我无法从作为副本提供的答案中得出这个结论。

标签: python


【解决方案1】:
testA[0:3|4:6]

评估为

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

依次通过按位或求值来计算

testA[0 : 7 : 6]

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2017-04-15
    • 2020-03-07
    • 2012-03-17
    • 2011-05-26
    • 1970-01-01
    相关资源
    最近更新 更多