Строка Python и Целочисленная конкатенация [дубликат]

Этот вопрос уже имеет ответ здесь:

Я хочу создать строку с помощью целого числа, добавленного к нему, в для цикла. Как это:

for i in range(1,11):
  string="string"+i

Но это возвращает ошибку:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

Что лучший способ состоит в том, чтобы связать Строку и Целое число?

328
задан Michael Dorner 28 October 2016 в 00:22
поделиться

4 ответа

for i in range(11):
    string = "string{0}".format(i)

То, что вы сделали ( диапазон [1,10] ), является

  • ошибкой типа, поскольку скобки обозначают индекс ( a [3] ) или фрагмент ( a [3: 5] ) списка,
  • SyntaxError, поскольку [1,10] недопустим, и
  • двойная погрешность, равная единице, поскольку диапазон (1,10) равен [1, 2, 3, 4, 5, 6, 7, 8, 9] , и вам кажется, что вы хотите [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

И string = "string" + i равно ошибка TypeError, поскольку вы не можете добавить целое число в строку (в отличие от JavaScript).

Посмотрите документацию на новый метод форматирования строк Python , он очень мощный.

18
ответ дан 23 November 2019 в 00:48
поделиться
string = 'string%d' % (i,)
33
ответ дан 23 November 2019 в 00:48
поделиться
for i in range (1,10):
    string="string"+str(i)

Чтобы получить строка0, строка1 ..... строка10 , вы можете сделать как

>>> ["string"+str(i) for i in range(11)]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9', 'string10']
260
ответ дан 23 November 2019 в 00:48
поделиться
for i in range[1,10]: 
  string = "string" + str(i)

Функция str (i) преобразует целое число в строку.

34
ответ дан 23 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: