gpt4 book ai didi

python - 删除没有突变的列表元素

转载 作者:IT老高 更新时间:2023-10-28 20:53:31 27 4
gpt4 key购买 nike

假设你有一个列表

>>> m = ['a','b','c']

我想创建一个新列表 n,其中包含除了 m 中给定项目之外的所有内容(例如项目 'a')。但是,当我使用

>>> m.remove('a')
>>> m
m = ['b', 'c']

原始列表发生了变异(值 'a' 从原始列表中删除)。有没有办法在不改变原始列表的情况下获得一个新列表 sans-'a'?所以我的意思是 m 仍然应该是 [ 'a', 'b', 'c' ],我会得到一个 new 列表, 必须是 [ 'b', 'c' ].

最佳答案

我假设您的意思是要创建一个没有给定元素的新列表,而不是更改原始列表。一种方法是使用列表推导:

m = ['a', 'b', 'c']
n = [x for x in m if x != 'a']

n 现在是 m 的副本,但没有 'a' 元素。

另一种方法当然是先复制列表

m = ['a', 'b', 'c']
n = m[:]
n.remove('a')

如果按索引删除一个值,那就更简单了

n = m[:index] + m[index+1:]

关于python - 删除没有突变的列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25004347/

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