gpt4 book ai didi

python - 用python中的列表替换元素

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:52 28 4
gpt4 key购买 nike

在 python 中,用另一个列表中的元素替换列表中的元素的最佳方法是什么?

例如,我有:

a = [ 1, 'replace_this', 4 ]

我想用 [2, 3] 替换 replace_this。替换后必须是:

a = [ 1, 2, 3, 4 ]

更新

当然,可以用切片来做(很抱歉我没有在问题中写),但问题是你有可能不止一个replace_this列表中的值。在这种情况下,您需要在循环中进行替换,这变得不理想。

我认为使用 itertools.chain 会更好,但我不确定。

最佳答案

你可以只使用切片:

>>> a = [ 1, 'replace_this', 4 ]
>>> a[1:2] = [2, 3]
>>> a
[1, 2, 3, 4]

正如@mgilson 指出的那样 - 如果您碰巧不知道要替换的元素的位置,那么您可以使用 a.index 来找到它...(请参阅他的评论)

与不使用切片相关的更新

使用 itertools.chain,确保 replacements 具有可迭代对象:

from itertools import chain

replacements = {
'replace_this': [2, 3],
4: [7, 8, 9]
}

a = [ 1, 'replace_this', 4 ]
print list(chain.from_iterable(replacements.get(el, [el]) for el in a))
# [1, 2, 3, 7, 8, 9]

关于python - 用python中的列表替换元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14731228/

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