Lew*_*909 2 python arrays string replace
我有搜索堆栈溢出和谷歌搜索到这个问题的解决方案,遗憾的是我还没有找到解决方案.
我想用另一个列表中的字符串值替换列表中存储的字符串的值.
例如,我有两个列表:
list_a = ['file_x', 'file_x', 'file_x', 'file_x']
list_b = ['1', '2', '3', '4']
Run Code Online (Sandbox Code Playgroud)
我希望结果返回:
list_c =['file_1', 'file_2', 'file_3', 'file_4']
Run Code Online (Sandbox Code Playgroud)
我是python的新手,我正在努力做到这一点,我尝试使用for循环和str.replace()但我不知道如何匹配每个数组的键值并替换'x'的每个元素list_a,其中包含list_b元素的字符串值.
任何有关这方面的帮助将不胜感激.
使用zip
耦合相应的a
S和b
秒.
>>> list(zip(list_a, list_b))
[('file_x', '1'), ('file_x', '2'), ('file_x', '3'), ('file_x', '4')]
Run Code Online (Sandbox Code Playgroud)
我们可以使用这个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']
Run Code Online (Sandbox Code Playgroud)
这也可以写成短列表理解:
>>> [a.replace('x', b) for a, b in zip(list_a, list_b)]
['file_1', 'file_2', 'file_3', 'file_4']
Run Code Online (Sandbox Code Playgroud)
正如Moinuddin指出的那样,如果你定义了内容,那么在这里使用格式字符串是一个更好的选择list_a
归档时间: |
|
查看次数: |
87 次 |
最近记录: |