用python中的列表替换元素
发布时间:2020-12-20 12:29:43 所属栏目:Python 来源:网络整理
导读:在 python中,用另一个列表中的元素替换列表中的元素的最佳方法是什么? 例如,我有: a = [ 1,'replace_this',4 ] 我想用[2,3]替换replace_this.更换后必须是: a = [ 1,2,3,4 ] 更新 当然,切片可以做(对不起,我没有在问题中写出来),但问题是你可能在列表中有
在
python中,用另一个列表中的元素替换列表中的元素的最佳方法是什么?
例如,我有: a = [ 1,'replace_this',4 ] 我想用[2,3]替换replace_this.更换后必须是: a = [ 1,2,3,4 ] 更新 当然,切片可以做(对不起,我没有在问题中写出来),但问题是你可能在列表中有多个replace_this值.在这种情况下,您需要在循环中进行替换,这将变得不理想. 我认为使用itertools.chain会更好,但我不确定. 解决方法
你可以使用切片:
>>> a = [ 1,4 ] >>> a[1:2] = [2,3] >>> a [1,4] 正如@mgilson指出的那样 – 如果你碰巧不知道要替换的元素的位置,那么你可以使用a.index来找到它……(见他的评论) 更新与不使用切片有关 使用itertools.chain,确保替换具有可迭代: from itertools import chain replacements = { 'replace_this': [2,3],4: [7,8,9] } a = [ 1,4 ] print list(chain.from_iterable(replacements.get(el,[el]) for el in a)) # [1,7,9] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |