gpt4 book ai didi

Python非线性切片

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:01 25 4
gpt4 key购买 nike

给定一个列表 a,我可以通过以下方式对其进行切片:

a[start:end:step]

然而,这只是线性切片。例如,我想选择 2 的幂的索引。不幸的是,这不起作用:

a[slice(2**x for x in range(len(a))]

当需要非线性切片时,有没有办法避免循环?

编辑:主要是我需要这个来修改列表。例如

a[*non-linear-slicing*] = [*list-with-new-values*]

最佳答案

你可以使用列表理解:

is_power_of_two = lambda num: num != 0 and ((num & (num - 1)) == 0)
print [item for i, item in enumerate(a) if is_power_of_two(i)]

关于Python非线性切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com