Python:复制列表同时删除元素

Python:复制列表同时删除元素,python,Python,我是python新手,正在尝试创建一个没有特定元素的列表副本。我现在就是这样做的: oldList[1,23,4,3,5,345,4] newList = oldList[:] del newList[3] doSomthingToList(newList) 我想知道是否有更好更雄辩的方法来实现这一点,而不是复制列表然后删除两行中的元素?使用: 使用: 用“切片”试试这个: >>> oldList = [1, 2, 3, 4, 5] >>> newList

我是python新手,正在尝试创建一个没有特定元素的列表副本。我现在就是这样做的:

oldList[1,23,4,3,5,345,4]
newList = oldList[:]
del newList[3]
doSomthingToList(newList)
我想知道是否有更好更雄辩的方法来实现这一点,而不是复制列表然后删除两行中的元素?

使用:

使用:


用“切片”试试这个:

>>> oldList = [1, 2, 3, 4, 5]
>>> newList = oldList[:2] + [oldList[3:]
>>> newList
[1, 2, 4, 5]

用“切片”试试这个:

>>> oldList = [1, 2, 3, 4, 5]
>>> newList = oldList[:2] + [oldList[3:]
>>> newList
[1, 2, 4, 5]

考虑使用内置函数


filter
的参数是
函数,iterable
。它将您赋予它的函数应用于iterable的每个元素,并返回函数返回True的元素列表。

考虑使用内置函数


filter
的参数是
函数,iterable
。它将您赋予它的函数应用于iterable的每个元素,并返回函数返回True的元素列表。

该元素是否因其索引(即“除第三个元素外的所有元素”)或更复杂的原因(即“除大于200的元素外的所有元素”)而被排除?仅是索引。因此,新列表应该是:[1,23,4,5345,4]不要使用del,而是使用remove代替由于其索引(即“除第三个元素外的所有元素”)或由于更复杂的原因(即“除大于200的元素外的所有元素”)而排除的元素的标题,只是索引。因此,新列表应该是:[1,23,4,5345,4]不要使用del,而是使用remove
>>> oldList = [1, 2, 3, 4, 5]
>>> newList = oldList[:2] + [oldList[3:]
>>> newList
[1, 2, 4, 5]
oldList = [1, 2, 3, 4, 5]
newList = filter(lambda number: number != 3, oldList)

# newList == [1,2,4,5]