Этот вопрос уже имеет ответ здесь:
Я хочу создать строку с помощью целого числа, добавленного к нему, в для цикла. Как это:
for i in range(1,11):
string="string"+i
Но это возвращает ошибку:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Что лучший способ состоит в том, чтобы связать Строку и Целое число?
for i in range(11):
string = "string{0}".format(i)
То, что вы сделали ( диапазон [1,10]
), является
a [3]
) или фрагмент ( a [3: 5]
) списка, [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 , он очень мощный.
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']
for i in range[1,10]:
string = "string" + str(i)
Функция str (i)
преобразует целое число в строку.