我有一个名单:
a = ['Maria','Luis','Andrea']
我想把它们放在一个字符串中,所以我这样做:
names = ''
for name in a:
names = names +',' ' ' + name
有一个问题,在第一次迭代中,我在开头添加了一个逗号和一个空格,我知道我可以删除逗号和空格,但我宁愿只是没有它。
另外,可以在lambda函数中完成吗?
答案 0 :(得分:6)
让str.join()
处理:
>>> a = ['Maria','Luis','Andrea']
>>> ", ".join(a)
'Maria, Luis, Andrea'
答案 1 :(得分:2)
这就是str.join
方法的用途:
>>> ', '.join(a)
'Maria, Luis, Andrea
该方法将来自iterable的所有元素连接起来,并将字符串join
作为分隔符调用。
一些例子:
>>> 'SEP'.join(a)
'MariaSEPLuisSEPAndrea'
>>> ''.join(a)
'MariaLuisAndrea'
它可以被视为str.split
:
>>> s = ', '.join(a)
>>> s
'Maria, Luis, Andrea'
>>> s.split(', ')
['Maria', 'Luis', 'Andrea']
答案 2 :(得分:2)
正确的pythonic方式是其他答案中给出的",".join(...)
方法。然而,语言不可知的方法将是这样的:
for i in range(len(a)):
if i == 0:
names += a[i]
else:
names += ',' + a[i]