Python - 如何用另一个列表中的字符串值替换存储在列表中的字符串值?

标签 python arrays string replace

我遇到了搜索堆栈溢出问题,并在谷歌上搜索了这个问题的解决方案,不幸的是我没能找到解决方案。

我想用另一个列表中的字符串值替换存储在列表中的字符串值。

例如我有两个列表:

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耦合相应的 ab

>>> list(zip(list_a, list_b))
[('file_x', '1'), ('file_x', '2'), ('file_x', '3'), ('file_x', '4')]

我们可以在 for 循环中轻松使用这个 zip 对象,将这些对解包到单独的变量 ab,然后执行 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/

相关文章:

Python3 : Using input() with stdin, 就像 hackerrank 中一样

python - 从数据集中创建单独的组以进行迭代(Pandas、Python 3)

python - 如何启动 pdb 并从 REPL 进入函数?

c - 取消引用结构体中的数组(在 C 中)

c - 在函数中初始化数组

javascript - 在javascript中实现一个将对象转换为字符串的递归函数

ruby - 为什么数字字符串比较会产生意外结果?

c - 通过在 C 中标记字符串来尝试读取文本文件时出现无限循环

python - 用 mechanize 下载文件

c++ - 将对象数组写入和读取到二进制文件?