我遇到了搜索堆栈溢出问题,并在谷歌上搜索了这个问题的解决方案,不幸的是我没能找到解决方案。
我想用另一个列表中的字符串值替换存储在列表中的字符串值。
例如我有两个列表:
list_a = ['file_x', 'file_x', 'file_x', 'file_x']
list_b = ['1', '2', '3', '4']
我希望返回结果:
list_c =['file_1', 'file_2', 'file_3', 'file_4']
我是 python 的新手,我正在努力做到这一点,我尝试使用 for 循环和 str.replace() 但我不知道如何匹配每个数组的键值并替换 'x' list_a 的每个元素都带有来自 list_b 的元素的字符串值。
如有任何帮助,我们将不胜感激。
最佳答案
使用zip
耦合相应的 a
和 b
。
>>> list(zip(list_a, list_b))
[('file_x', '1'), ('file_x', '2'), ('file_x', '3'), ('file_x', '4')]
我们可以在 for 循环中轻松使用这个 zip
对象,将这些对解包到单独的变量 a
和 b
,然后执行 a.replace('x', b)
并将结果值附加到我们的结果列表:
>>> list_c = []
>>> for a, b in zip(list_a, list_b):
... list_c.append(a.replace('x', b))
...
>>> list_c
['file_1', 'file_2', 'file_3', 'file_4']
这也可以写成短列表理解:
>>> [a.replace('x', b) for a, b in zip(list_a, list_b)]
['file_1', 'file_2', 'file_3', 'file_4']
正如 Moinuddin 指出的那样,如果您定义了 list_a
关于Python - 如何用另一个列表中的字符串值替换存储在列表中的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40654100/