可以使用Python切片按索引跳过一个特定元素吗?
发布时间:2020-12-20 11:34:02 所属栏目:Python 来源:网络整理
导读:假设我正在编写一个递归函数,我想将一个列表传递给一个缺少单个元素的函数,作为循环的一部分.这是一个可能的解决方案: def Foo(input): if len(input) == 0: return for j in input: t = input[:] t.remove(j) Foo(t) 有没有办法滥用切片操作符传递列表减去
假设我正在编写一个递归函数,我想将一个列表传递给一个缺少单个元素的函数,作为循环的一部分.这是一个可能的解决方案:
def Foo(input): if len(input) == 0: return for j in input: t = input[:] t.remove(j) Foo(t) 有没有办法滥用切片操作符传递列表减去元素j而不显式复制列表并从中删除项目? 解决方法
那这个呢?
for i in range(len(list_)): Foo(list_[:i] + list_[i+1:]) 虽然在复制时忽略索引i处的元素,但您仍在复制项目. 顺便说一句,您总是可以尝试通过附加下划线来避免覆盖列表等内置名称. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |