1

这个应该很快,但由于某种原因我想不出来。所以说我有一个长度为 n 的元素列表(元素的数量会在将来的某个时候改变)。但是,让我们以这个为例:

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

现在我想要将其输出为如下所示的字符串:

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

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

谢谢

4

7 回答 7

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

In [5]: print('(' + ', '.join('"%s"' % el for el in l) + ')')
("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")
于 2012-11-28T17:19:58.337 回答
3

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

>>> l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> str(tuple(l))
"('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"
于 2012-11-28T17:21:39.650 回答
2

使用join功能:

>>> a = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> '("' + '", "'.join(a) + '")'
'("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")'
于 2012-11-28T17:20:02.703 回答
0

把它变成一个字符串?

"".join(my_list)

把它变成一个元组?

my_tuple = tuple(my_list)
于 2012-11-28T17:19:24.300 回答
0

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

strx = ''
strx.join(list)
于 2012-11-28T17:19:38.710 回答
0

你是这个意思吗?:

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

你得到:

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

因此。

于 2012-11-28T17:25:53.363 回答
0

尽管 % 格式已被弃用,但在某些情况下它很有用。例如,代码

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

产生:

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

当然,将打印更改为

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

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

于 2012-11-28T18:23:14.523 回答