将列表中的所有元素连接成字符串python

时间:2012-11-28 17:16:48

标签: python

这个应该很快,但由于某种原因我无法想到它。所以说我有一个长度为n的元素列表(元素的数量将在未来的某个时刻发生变化)。但是,让我们以此为例:

['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']

现在我想将它输出到一个如下所示的字符串:

("ESZ12", "ESH13", "ESM13", "ESU13, "ESZ13")

第一个确实是一个元素列表,第二个只是一个完整的字符串。

由于

7 个答案:

答案 0 :(得分:4)

In [4]: l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']

In [5]: print('(' + ', '.join('"%s"' % el for el in l) + ')')
("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")

答案 1 :(得分:3)

如果你想要一个看起来像元组的字符串,最简单的方法是转换为元组:

>>> l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> str(tuple(l))
"('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"

答案 2 :(得分:2)

使用join功能:

>>> a = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> '("' + '", "'.join(a) + '")'
'("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")'

答案 3 :(得分:0)

把它变成一个字符串?

"".join(my_list)

把它变成一个元组?

my_tuple = tuple(my_list)

答案 4 :(得分:0)

预期输出是一个元组。如果你真的是指字符串,那么你可以使用:

strx = ''
strx.join(list)

答案 5 :(得分:0)

这是你的意思吗?:

    x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
    y = str(tuple(x))
    print y

你得到:

    "('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"

结果。

答案 6 :(得分:0)

虽然已弃用%格式,但有时它很有用。例如,代码

x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
print '("%s")' % '", "'.join(x)

产生

("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")

当然,将打印更改为

print '("{}")'.format('", "'.join(x))

给出相同的结果,而不使用已弃用的%。