有没有一个圣人等同于php' implode'列表?

时间:2014-10-22 17:33:23

标签: python syntax sage

我想采取一个列表,如

L = [1,2,3,4]

并输出一个字符串,如

string = L.join('::') 输出 1::2::3::4

我可以轻松运行一个循环,例如

string='';

for a in L: string = string+'::'+str(a)

但我想在一行中完成所有这一切,因为我将此命令传递给运行exec命令的php脚本,它似乎打破了换行符和缩进因此..我想在一行中写它或弄清楚如何将其作为php变量传递给shell执行
THX

2 个答案:

答案 0 :(得分:3)

像这样的东西

'::'.join(map(str,L))

或代替地图

'::'.join(str(i) for i in L)

答案 1 :(得分:1)

您正在寻找str.join()

>>> "::".join(str(x) for x in [1, 2, 3, 4])
1::2::3::4

由于str.join()需要字符串,因此我使用generator expression从原始列表中的数字创建字符串。

该方法存在于字符串上,镜像str.split()方法。这也意味着它适用于任意迭代,而不仅仅是列表。