使用*args的元组高级切片

2024-09-24 06:23:15 发布

您现在位置:Python中文网/ 问答频道 /正文

根据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]

如何使用tuple和*args?你知道吗

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

Tags: 方法inputcreateipythonlineargsslicerange
1条回答
网友
1楼 · 发布于 2024-09-24 06:23:15

对于要忽略的选项,请将其替换为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内置函数。你知道吗

相关问题 更多 >