Python:复制列表同时删除元素
我是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
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]