删除列表中的项目并获取新列表? [复制]
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 有一些内置函数可以做到这一点,好吧,也许没有。但这是一个很好的解决方案!以上是关于删除列表中的项目并获取新列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章