首页 > 解决方案 > 通过范围索引获取整个数组

问题描述

要检索数组元素的子范围,我们可以编写myData[from : to]语法。

我有一个函数,简化的变体如下所示:

def myFunction(fromIndex, toIndex):
    return myData[fromIndex: toIndex]

假设我不能/不想改变 的行为myFunction,但在某些情况下,我想获取整个数组(即理论上fromIndex = 0, toIndex = len(myData)。我可以写x = myFunction(0, len(myData)),但在这种情况下,我必须知道 ˙myData˙ 是什么方法。

还有其他方法吗?之类的东西x = myFunction(, ),它将扩展return myData[ : ]并返回整个数组的(副本)。这种范围索引语法是否有一些特殊符号?myData[0 : 0 or None] == myData?

标签: pythonarraysrange

解决方案


为参数默认值中的一个/两个使用None值。本机some_list[None:None]返回整个列表。

def myFunction(fromIndex=None, toIndex=None):
    return myData[fromIndex: toIndex]

# myFunction() will return the whole list

推荐阅读