【发布时间】:2021-07-11 02:22:05
【问题描述】:
我正在寻找类似 string.replace 的函数,但用于列表。
例如,用 string.replace:
>>> s="abcd abcd"
>>> s.replace("bc", "XYZ")
'aXYZd aXYZd'
所以同一件事的列表版本应该是这样的:
>>> l=['a','b','c','d',' ', 'a','b','c','d']
>>> l.replace(['b','c'], ['X','Y','Z'])
['a','X','Y','Z',d,' ','a','X','Y','Z',d]
注意:这不仅仅是用其他东西替换列表中的单个元素。它用可能具有不同长度的不同子列表替换所有出现的子列表 - 就像 string.replace() 对子字符串所做的那样。
(我实际使用的列表实际上并不是字符列表,因此无法转换为字符串。)
【问题讨论】:
-
如果列表不是字符列表,那么它们实际上包含什么?
-
Whats' `l = [1, 1, 1, 1, 1]` 的预期输出将
[1, 1]替换为假设[2, 3]? -
Tim - 它们是对象实例 - 处理不同类型的观察序列
-
iGian 一个合理的选择将是“任何 string.replace 所做的类似物” - 在这种情况下意味着 23231
标签: python python-3.x list replace