gpt4 book ai didi

Python:一步切片和删除

转载 作者:太空宇宙 更新时间:2023-11-04 01:11:52 31 4
gpt4 key购买 nike

我有一个递归的 Python 函数,它在将较小的列表传递给递归之前从列表的副本中删除一个项目:

B = A[:]
B.remove(C)
Recursion(B)

这很好用,但这样做似乎更优雅:

Recursion(A[:].remove(C))

不幸的是 A[:].remove(C) 产生了 None。 (为什么?)是否有一种优雅的方法可以在一行中完成此操作?

最佳答案

好吧,您可以使用 list comprehension 执行以下操作它创建了一个没有 C 元素的新列表,假设 A 中只有一个 C 元素 - 因为 remove() 消除了元素的第一次出现,而列表推导式消除了所有 次出现:

Recursion([x for x in A if x != C])

关于Python:一步切片和删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27197761/

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