Shi*_*ith 6 python list concatenation python-3.x
我有一个字符串列表如下
lst = [['a','b','c'],['@','$','#'],['1','2','3']]
Run Code Online (Sandbox Code Playgroud)
我想明智地将list元素内的每个字符串连接起来,预期输出如下:
['a@1','b$2','c#3']
Run Code Online (Sandbox Code Playgroud)
的大小lst可以变化。有没有任何方法可以完成此操作而无需进行for循环。
我尝试使用地图,但无法正常工作。
map(str.__add__,(x for x in list))
Run Code Online (Sandbox Code Playgroud)
请帮忙。
yat*_*atu 11
这是压缩子列表并使用''.join生成的元组进行映射的一种方法:
list(map(''.join, zip(*lst)))
# ['a@1', 'b$2', 'c#3']
Run Code Online (Sandbox Code Playgroud)
zip如docs所示,此处汇总了多个可迭代对象的元素。通过添加*,我们正在解压缩列表,这意味着该函数将改为接收zip(['a','b','c'],['@','$','#'],['1','2','3'])。
现在,在每次迭代中,map将应用于''.join每个聚合的可迭代对象,即,应用于每个子列表中的第一个元素,然后应用于第二个,依此类推。
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |