gpt4 book ai didi

Python函数在不修改输入列表的情况下返回一个新列表

转载 作者:行者123 更新时间:2023-11-28 21:27:57 25 4
gpt4 key购买 nike

各位,

我想要一个将列表作为输入的函数,返回另一个对输入进行修改的列表,但我不想更改原始列表。下面的代码是我能做的最好的吗?

还有,为了避免出错,我把tuple(a)传给modify(a)函数,然后在modify(a)函数里把tuple变成list会不会更好?

非常感谢您的回复。

def modify(a):
b = a[:]
# some changes on b here
......
return b

最佳答案

如果您的列表包含任何子列表、字典或其他“可变”元素,并且您的算法可能会对它们进行更改,那么 oldlist[::-1] 为您提供的浅拷贝是不够。使用 copy 模块中的 deepcopy 对您的输入进行完全独立的复制。

from copy import deepcopy
newlist = deepcopy(oldlist)

关于Python函数在不修改输入列表的情况下返回一个新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438923/

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