gpt4 book ai didi

python-3.x - Python,如何从一个列表中删除一项并将其添加到另一个列表中?

转载 作者:行者123 更新时间:2023-12-04 03:00:02 24 4
gpt4 key购买 nike

只想说我是初学者,所以请耐心等待。

问题:

1 .如何从 list(firstlist) 中删除项目,然后将其添加到另一个 list(secondlist) ?

firstlist = ['a', 'b', 'c', 'd']

secondlist = []

2 .使用方法 pop()remove() ,以及在这种情况下如何使用它?

所以我想知道,这本书告诉我我会使用带有 pop() 的项目的索引。方法。
firstlist.pop(1)

我可以使用 remove()方法,如果我知道该项目的值(value)。
firstlist.remove('b')

使用 remove() 不是更容易吗?方法?希望这是有道理的。

编辑:让我们说列表是否有名称。我该如何处理?

最佳答案

要使用这两种方法从一个列表中删除并添加到另一个列表中,您可以执行以下任一操作:

流行音乐 :

secondlist.append(firstlist.pop(1))

删除 :
item = 'b'

firstlist.remove(item)
secondlist.append(item)

至于为什么一种方法优于另一种方法,这在很大程度上取决于列表的大小以及要删除的项目。假设您的列表是 firstlist = ['a', 'b', 'c', 'd']
如果要删除第一项,则 remove会比 pop
firstlist.pop(0)
183 ns ± 4.64 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

firstlist.remove('a')
130 ns ± 2.45 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

但是如果你想删除最后一项,那么 pop是比较快的
firstlist.pop(3)
161 ns ± 2 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

firstlist.remove('d')
182 ns ± 5.1 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

这是因为,正如评论中提到的, remove将在您的整个列表中搜索第一次出现的项目。对于更长的列表,这种差异会被放大:
firstlist = [x for x in 'abcdefghijklmnopqrstuvwxyz']

firstlist.pop(25)
938 ns ± 19.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

firstlist.remove('z')
1.28 µs ± 21.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

关于python-3.x - Python,如何从一个列表中删除一项并将其添加到另一个列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054072/

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