将列表项添加到另一个列表中项的末尾

Dan*_*den 2 python list-comprehension list

我有:

foo = ['/directory/1/', '/directory/2']
bar = ['1.txt', '2.txt']
Run Code Online (Sandbox Code Playgroud)

我想要:

faa = ['/directory/1/1.txt', '/directory/2/2.txt']
Run Code Online (Sandbox Code Playgroud)

我似乎只能调用尝试向列表添加字符串的操作,这会导致类型错误.

Ign*_*ams 7

>>> [os.path.join(a, b) for a, b in zip(foo, bar)]
['/directory/1/1.txt', '/directory/2/2.txt']
Run Code Online (Sandbox Code Playgroud)


Sel*_*cuk 5

这是一个使用列表理解的单行程序:

faa = ['/'.join(b).replace('//', '/') for b in zip(foo, bar)]
Run Code Online (Sandbox Code Playgroud)

请注意,在连接时,这将始终使用正斜杠(/),而@Ignacio Vazquez-Abrams的解决方案更加跨平台(例如,如果您在其后运行,它将在Windows中运行时使用反斜杠).