我试图在2个列表的每个第n个位置连接字符串.但我似乎无法让它发挥作用
输入:
['57', '60', '55',..., '56']
['g', 'b', 'r',..., 'b']
Run Code Online (Sandbox Code Playgroud)
输出:
['57g', '60b', '55r',..., '56b']
Run Code Online (Sandbox Code Playgroud)
利用内建的全部武器,你可以做到以下几点,使用map,zip以及str.join:
l1 = ['57', '60', '55', '56']
l2 = ['g', 'b', 'r', 'b']
list(map(''.join, zip(l1, l2)))
# ['57g', '60b', '55r', '56b']
Run Code Online (Sandbox Code Playgroud)
这大致相当于以下理解:
[''.join(pair) for pair in zip(l1, l2)]
# ['57g', '60b', '55r', '56b']
Run Code Online (Sandbox Code Playgroud)
反过来,它可以只使用简单的字符串连接:
[x1 + x2 for x1, x2 in zip(l1, l2)]
# ['57g', '60b', '55r', '56b']
Run Code Online (Sandbox Code Playgroud)
zip是所有这些中的关键函数,因为它是并行
对(三元组,四元组,...) - 多个迭代的明智迭代.