Cadenas de Python y concatenación de enteros [duplicado]
Quiero crear una cadena usando un número entero adjunto, en un bucle for . Como esto:
for i in range(1, 11):
string = "string" + i
Pero devuelve un error:
TypeError: tipos de operandos no admitidos para +: 'int' y 'str'
¿Cuál es la mejor manera de concatenar la cadena y el número entero?
NOTA:
El método utilizado en esta respuesta (comillas invertidas) está obsoleto en versiones posteriores de Python 2 y se elimina en Python 3. Utilice la str()
función en su lugar.
Puedes usar:
string = 'string'
for i in range(11):
string +=`i`
print string
Se imprimirá string012345678910
.
Para obtenerlo, string0, string1 ..... string10
puedes usar esto como TÚ sugeriste :
>>> string = "string"
>>> [string+`i` for i in range(11)]
Para Python 3
Puedes usar:
string = 'string'
for i in range(11):
string += str(i)
print string
Se imprimirá string012345678910
.
Para obtenerlo string0, string1 ..... string10
, puedes usar esto como TÚ sugeriste :
>>> string = "string"
>>> [string+str(i) for i in range(11)]
for i in range (1,10):
string="string"+str(i)
Para conseguirlo string0, string1 ..... string10
, puedes hacer como
>>> ["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)
La str(i)
función convierte el número entero en una cadena.
string = 'string%d' % (i,)