从2个列表中连接n位置的字符串

daw*_*999 -1 python

我试图在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)

sch*_*ggl 8

利用内建的全部武器,你可以做到以下几点,使用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是所有这些中的关键函数,因为它是并行 对(三元组,四元组,...) - 多个迭代的明智迭代.