列表中项目的连接

时间:2014-06-26 10:15:07

标签: python string text concatenation string-concatenation

我有这样的清单:

['S/M - Black', ' 93094-01']

结果是:

m['value'].split(',')[0:2:]

如何从中生成这样的字符串:

'S/M - Black, 93094-01'

我试过了:

print [i + ', ' + i for i in m['value'].split(', ')[0:2:]]

但它给了我:

['S/M - Black, S/M - Black', ' 93094-01,  93094-01']

5 个答案:

答案 0 :(得分:2)

如你所见,

[i + ', ' + i for i in m['value'].split(', ')[0:2:]]

依次将该格式应用于每个项目。相反,你想要:

", ".join(m['value'].split(",")[:2])

(注意整齐的切片,这意味着“前两项”)。例如:

>>> ", ".join(['S/M - Black', ' 93094-01'])
'S/M - Black,  93094-01'

答案 1 :(得分:2)

您应该使用join方法:

",".join(m['value'].split(', ')[0:2:])

答案 2 :(得分:0)

array = ['S/M - Black', ' 93094-01']
string = ','.join(array)

答案 3 :(得分:0)

.split函数返回一个列表,在此处阅读文档https://docs.python.org/2/library/stdtypes.html

所以你可以使用','。join(['S / M - Black','93094-01'])加入你的列表值,如前面在类似问题Concatenate item in list to strings上回答的那样

答案 4 :(得分:0)

list1 = ['S/M - Black', ' 93094-01']
str1 = ''.join(str(e) for e in list1)