关于python:转换字符串中的元素列表

Convert a list of elements in a string

本问题已经有最佳答案,请猛点这里访问。

我有一张名单:

1
a = ['Maria','Luis','Andrea']

我想把它们放在一根绳子里,所以我做了这个:

1
2
3
names = ''
for name in a:
    names = names +',' ' ' + name

有一个问题,在第一个索引中,我在开头加了一个逗号和一个空格,我知道我可以删除逗号和空格,但我宁愿不加。

同样,这可以在lambda函数中完成吗?


str.join()处理:

1
2
3
>>> a = ['Maria','Luis','Andrea']
>>>",".join(a)
'Maria, Luis, Andrea'


正确的肾盂方法是其他答案中给出的",".join(...)方法。然而,语言不可知论的方法是这样的:

1
2
3
4
5
for i in range(len(a)):
   if i == 0:
      names += a[i]
   else:
      names += ',' + a[i]


这就是str.join方法的目的:

1
2
>>> ', '.join(a)
'Maria, Luis, Andrea

该方法使用字符串join来确定ITerable中的所有元素,并将其作为分隔符调用。

一些例子:

1
2
3
4
>>> 'SEP'.join(a)
'MariaSEPLuisSEPAndrea'
>>> ''.join(a)
'MariaLuisAndrea'

可以看作是str.split的对应物:

1
2
3
4
5
>>> s = ', '.join(a)
>>> s
'Maria, Luis, Andrea'
>>> s.split(', ')
['Maria', 'Luis', 'Andrea']