展开元组以进行打印

时间:2018-10-01 09:19:20

标签: python tuples string-formatting

我想将tuple的值附加到字符串。但是我不了解它与切片一起使用...

实际上,我只想要下面out[18]中的值,而不是'{0}'.format(thetuple)中得到的括号,空格和逗号。

有什么想法吗?

In [16]: cg = (3,1)

In [17]: cg[0:2]
Out[17]: (3, 1)

In [18]: 'cg{0[0]}{0[1]}'.format(cg)
Out[18]: 'cg31'

In [19]: 'cg{0[0:2]}'.format(cg)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-a450c51616c2> in <module>()
----> 1 'cg{0[0:2]}'.format(cg)

TypeError: tuple indices must be integers or slices, not str

2 个答案:

答案 0 :(得分:2)

这是我要怎么做:

>>> st = ''.join(str(s) for s in cg)
>>> st
'31'

您遍历元组,并在空字符串上使用.join()。迭代时,请确保将tuple中的每个元素都转换为str

答案 1 :(得分:0)

我会这样做:

string = ''
for i in (3,1):
    string+=(str(i))
print string

输出为31:)