Cadenas de Python y concatenación de enteros [duplicado]

Resuelto michele asked hace 14 años • 9 respuestas

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?

michele avatar May 17 '10 14:05 michele
Aceptado

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 ..... string10puedes 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)]
Anirban Nag 'tintinmj' avatar Aug 21 '2013 17:08 Anirban Nag 'tintinmj'
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']
YOU avatar May 17 '2010 07:05 YOU
for i in range[1,10]: 
  string = "string" + str(i)

La str(i)función convierte el número entero en una cadena.

Rizwan Kassim avatar May 17 '2010 07:05 Rizwan Kassim
string = 'string%d' % (i,)
Ignacio Vazquez-Abrams avatar May 17 '2010 07:05 Ignacio Vazquez-Abrams