用另一个列表的内容替换列表项

用另一个列表的内容替换列表项,第1张

用另一个列表的内容替换列表项

不同的方法:当我进行替换时,我更喜欢从字典的角度进行思考。所以我会做类似的事情

>>> orig = [ 'a', 'b', 'c', 'd' ]>>> rep = {'c': ['x', 'y', 'z']}>>> [i for c in orig for i in rep.get(c, [c])]['a', 'b', 'x', 'y', 'z', 'd']

最后一行是标准拼合成语。

这种方法的一个优点(劣势?)是它将处理的多次出现

'c'

[更新:]

或者,如果您愿意:

>>> from itertools import chain>>> list(chain.from_iterable(rep.get(c, [c]) for c in orig))['a', 'b', 'x', 'y', 'z', 'd']

关于修改后的测试用例:

>>> orig = [ 'a', 'b', 'c', 'd', 'c' ]>>> rep = {'c': ['x', 'y', 'z']}>>> list(chain.from_iterable(rep.get(c, [c]) for c in orig))['a', 'b', 'x', 'y', 'z', 'd', 'x', 'y', 'z']


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5632403.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存