我想采取一个列表,如
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
答案 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()
方法。这也意味着它适用于任意迭代,而不仅仅是列表。