456
是如何变成459
的?
>>> a = range(123, 456, 7)[1::4]
>>> print(a)
range(130, 459, 28)
最佳答案
首先。
a = range(123, 456, 7)
print(list(a))
#[123, 130, 137, 144, 151, 158,.....431, 438, 445, 452]
即我们得到一个从 123 到 456 的列表,步长为 7
然后我们尝试下一步。
a = range(123, 456, 7)[1::4]
print(list(a))
#[130, 158, 186, 214, 242, 270, 298, 326, 354, 382, 410, 438]
相当于从 130 开始,步长为 28,最后一个值为 459,即 range(130, 459, 28)
,这也告诉你从第一个元素开始,从范围中取出每第四个元素。
关于python - 带切片的范围说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55790709/