删除列表中的项目并获取新列表? [复制]

Posted

技术标签:

【中文标题】删除列表中的项目并获取新列表? [复制]【英文标题】:Remove an item in list and get a new list? [duplicate] 【发布时间】:2017-04-04 16:26:13 【问题描述】:

我看到有几个关于从列表中删除项目的主题,包括使用 remove()pop()del。但是这些都不是我想要的,因为我想在删除项目时获得一个新列表。例如,我想这样做:

a = [1, 2, 3, 4, 5, 6]
<fill in >       # This step somehow removes the third item and get a new list b and let
b = [1, 2, 4, 5, 6]

我该怎么做?

【问题讨论】:

那么a.pop(2)到底有什么问题? @barakmanos 我相信它返回元素而不是新的 list 对象,因为 OP 想要它。 @khelwood OP 想要创建没有第三项的新列表,而不是没有 int 3 b = a[:2]+a[3:] b=a[:];b.pop(2) ??? 【参考方案1】:

如果你想要一个没有第三个元素的新列表,那么:

b = a[:2] + a[3:]

如果你想要一个没有值 '3' 的列表:

b = [n for n in a if n != 3]

【讨论】:

b = a[:2] + a[3:] 是。谢谢@Yevhen。我认为 Python 有一些内置函数可以做到这一点,好吧,也许没有。但这是一个很好的解决方案!

以上是关于删除列表中的项目并获取新列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

递归删除并替换clojure中的项目

如何根据列表中的项目复制熊猫中的行[重复]

坚持不懈续集 初学者挑战学习Python编程30天

删除列表中的重复项

删除列表中的重复项

如何在使用 range() 函数从列表中删除项目时迭代列表? [复制]