gpt4 book ai didi

python - 使用 *args 对元组进行高级切片

转载 作者:行者123 更新时间:2023-11-28 20:45:31 26 4
gpt4 key购买 nike

根据 Create a slice using a tuple , 你可以很方便地做到这一点:

>>> a = range(20)
>>> b = (5, 12)
>>> a[slice(*b)]
[5, 6, 7, 8, 9, 10, 11]

但我需要的是高级的:

a[5:]
a[:12]
a[:]
a[-1]
a[-2:]
a[:-2]
a[::-1]

如何用元组和*args来实现?

b = (5,:)
>> File "<ipython-input-26-c4eae928199d>", line 1
>> b = (5,:)
>> ^
>>SyntaxError: invalid syntax

最佳答案

对于您想省略的选项,将其替换为 None。通常,如果省略任何选项,则默认为 None

因此像 slice(None, None, None) 这样的选项等同于 a[::]。还要记住 startstep 参数默认为 None

为了。例如。

a[5:]  -> b=(5,None,None)
a[:12] -> b=(None,12)
a[:] -> b=(None,None)

这里要注意的一点是,切片不同于索引。因此,如果您打算建立索引,则不能使用内置的 slice

关于python - 使用 *args 对元组进行高级切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211183/

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