разверните кортеж для печати - PullRequest
0 голосов
/ 01 октября 2018

Я хочу добавить значения 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 голосов
/ 01 октября 2018

Я бы сделал это как-то так:

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

Вывод 31:)

0 голосов
/ 01 октября 2018

Вот как я бы это сделал:

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

Вы перебираете кортеж и используете .join() в пустой строке.Обязательно приведите каждый элемент в tuple как str во время итерации.

...