我有:
foo = ['/directory/1/', '/directory/2']
bar = ['1.txt', '2.txt']
我想:
faa = ['/directory/1/1.txt', '/directory/2/2.txt']
我似乎只能调用尝试向列表添加字符串的操作,这会导致类型错误。
答案 0 :(得分:7)
@Override
void onStartup(ServletContext servletContext) throws ServletException {
servletContext.getSessionCookieConfig().setName(sessionCookieName);
}
答案 1 :(得分:5)
这是一个使用列表理解的单行程序:
faa = ['/'.join(b).replace('//', '/') for b in zip(foo, bar)]
请注意,在连接时,它总是使用正斜杠(/),而@Ignacio Vazquez-Abrams'解决方案是更多跨平台(例如,当你在Windows中运行时,它将使用反斜杠)。
答案 2 :(得分:0)
要加入两个字符串,只需添加它们即可。
>>> foo = ['/directory/1/', '/directory/2/']
>>> bar = ['1.txt', '2.txt']
>>> map(lambda x,y:x+y, foo, bar)
['/directory/1/1.txt', '/directory/2/2.txt']
...假设您的原始列表有拼写错误且'/directory/2'
应为'/directory/2/'
本质上,这会动态创建一个函数(lambda),它将返回其两个参数的总和,并将其并行应用于该对列表的每个元素。
答案 3 :(得分:0)
只需尝试一下。不要变得复杂。
faa = [x+y for x, y in zip(foo, bar)]
输出
>>> faa
['/directory/1/1.txt', '/directory/2/2.txt']
答案 4 :(得分:0)
for lists in zip(foo,bar):
together.insert(1,'/'.join(lists).replace('//','/'))
print together
together2 = map("{0[0]}{0[1]}".format, zip(foo,bar))
print together2
第二个只有在列表变为
时才有效foo = ['/directory/1/', '/directory/2/']
bar = ['1.txt', '2.txt']
因为第二种方法没有添加' /'在第一个清单的项目的最后...无论如何都乐意帮助...
Stackoverflow btw新手