python 使用函数进行任意切片

标签 python list

我正在尝试创建一个可以制作列表的任意切片的函数,例如:

def slice(arr, a, b, step):
        return arr[a:b:step]

问题是,如果用户想要切片 arr[5:] 或 arr[:5] ,如何处理?

最佳答案

在切片中省略一个值相当于使用None,所以我可能建议这个函数签名:

def slice_(arr, start=None, stop=None, step=None):
    return arr[start:stop:step]

建议不要为您的函数使用名称 slice,因为它会遮蔽 the built-in class

注意:您不需要为此功能定义自己的函数。使用动态输入来切片对象的一种更 Pythonic 的方法是直接使用 getitem:

arr[slice(a,b,step)]

关于python 使用函数进行任意切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49437653/

相关文章:

list - 打印图的指定节点的图的所有循环,Prolog

java - Tapestry 循环遍历 tml 文件中的嵌套 map

python - 如何用 Python 减去列表中的所有项目?

python - 打乱单词的字符,同时保持句子结构和标点符号

python - 将 django 项目迁移到新服务器,并且另一个 django 项目的 postgresql 数据库已存在

r - 从两列创建一个命名列表,每个名称有多个值

python - 从python中的文本文件中读取特定列

python - 给定字典列表,一种打印一次键然后打印所有值的有效方法

python - 是否可以结合使用 Paramiko 和 Dask 的 read_csv() 方法从远程服务器读取 .csv?

python - 使用python修改LaTex文件中的单词,忽略LaTeX标记