这个应该很快,但由于某种原因我想不出来。所以说我有一个长度为 n 的元素列表(元素的数量会在将来的某个时候改变)。但是,让我们以这个为例:
['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
现在我想要将其输出为如下所示的字符串:
("ESZ12", "ESH13", "ESM13", "ESU13, "ESZ13")
第一个确实是一个元素列表,第二个只是一个完整的字符串。
谢谢
这个应该很快,但由于某种原因我想不出来。所以说我有一个长度为 n 的元素列表(元素的数量会在将来的某个时候改变)。但是,让我们以这个为例:
['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
现在我想要将其输出为如下所示的字符串:
("ESZ12", "ESH13", "ESM13", "ESU13, "ESZ13")
第一个确实是一个元素列表,第二个只是一个完整的字符串。
谢谢
In [4]: l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
In [5]: print('(' + ', '.join('"%s"' % el for el in l) + ')')
("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")
如果你想要一个看起来像元组的字符串,最简单的方法是转换为元组:
>>> l = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> str(tuple(l))
"('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"
使用join
功能:
>>> a = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
>>> '("' + '", "'.join(a) + '")'
'("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")'
把它变成一个字符串?
"".join(my_list)
把它变成一个元组?
my_tuple = tuple(my_list)
预期的输出是一个元组。如果你真的指的是字符串,那么你可以使用:
strx = ''
strx.join(list)
你是这个意思吗?:
x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
y = str(tuple(x))
print y
你得到:
"('ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13')"
因此。
尽管 % 格式已被弃用,但在某些情况下它很有用。例如,代码
x = ['ESZ12', 'ESH13', 'ESM13', 'ESU13', 'ESZ13']
print '("%s")' % '", "'.join(x)
产生:
("ESZ12", "ESH13", "ESM13", "ESU13", "ESZ13")
当然,将打印更改为
print '("{}")'.format('", "'.join(x))
给出相同的结果,但不使用已弃用的 %。