用不同的分隔符连接字符串

max*_*xou 0 python python-2.7

我想加入一个字符串,但在偶数和奇数情况下有 2 个不同的分隔符。

我有这个清单:

l = [1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我需要像这样加入它:

1 || 2 || \n 3 ||  4 || \n 5 || 6 || \n 7 ||  8 || \n 9 
Run Code Online (Sandbox Code Playgroud)

所以在每两个元素之后添加一个额外的换行符。

Mar*_*ers 5

连接每两个元素,然后连接结果:

' || \n '.join([' || '.join([str(v) for v in l[i:i + 2]]) for i in range(len(l))])
Run Code Online (Sandbox Code Playgroud)

或者分解成两种表达方式:

paired = [' || '.join([str(v) for v in l[i:i + 2]]) for i in range(len(l))]
final = ' || \n '.join(paired)
Run Code Online (Sandbox Code Playgroud)

后者对您更改的预期输出效果更好。

演示:

>>> ' || \n '.join([' || '.join([str(v) for v in l[i:i + 2]]) for i in range(len(l))])
'1 || 2 || \n 2 || 3 || \n 3 || 4 || \n 4 || 5 || \n 5 || 6 || \n 6 || 7 || \n 7 || 8 || \n 8 || 9 || \n 9'
Run Code Online (Sandbox Code Playgroud)