python动态数组访问[:0]

use*_*380 9 python python-3.x

我尝试在循环中动态访问一个数组array[n-i:-i],只要它工作正常i != 0.如果i==0我有array[n:0],我希望array从n 输出到结尾,但它什么都不返回(None我猜).如何存档预期的行为?

Mar*_*ers 11

用到None切片到底; 然后Python将len(array)用作端点.使用or回落到None-i0:

array[n-i:-i or None]
Run Code Online (Sandbox Code Playgroud)

在Python布尔上下文中,数字0被视为false.的or操作者短路 ; 如果它是一个真值,它返回第一个操作数,否则它将评估第二个操作数并返回该操作数.