una separar reemplazar por especiales eliminar contar concatenar comparar caracteres caracter cadenas cadena python string integer concatenation

reemplazar - python separar string por caracter



Cadena de Python y concatenación de enteros (9)

NOTA:

El método utilizado en esta respuesta (backticks) está en desuso en las versiones posteriores de Python 2, y se elimina en Python 3. En su lugar, use la función str() .

Puedes usar :

string = ''string'' for i in range(11): string +=`i` print string

Se imprimirá string012345678910 .

Para obtener string0, string1 ..... string10 puede usar esto como se sugiere en @YOU

>>> string = "string" >>> [string+`i` for i in range(11)]

Actualizar según Python3

Puedes usar :

string = ''string'' for i in range(11): string +=str(i) print string

Se imprimirá string012345678910 .

Para obtener string0, string1 ..... string10 puede usar esto como se sugiere en @YOU

>>> string = "string" >>> [string+str(i) for i in range(11)]

Esta pregunta ya tiene una respuesta aquí:

Quiero crear una cadena usando un entero agregado, en un bucle for. Me gusta esto:

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

Pero devuelve un error:

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

¿Cuál es la mejor manera de concatenar la cadena y el entero?


Hice algo mas Quería reemplazar una palabra, en listas de listas, que contenía frases. Quería reemplazar esa cadena / palabra con una nueva palabra que será una unión entre la cadena y el número, y ese número / dígito indicará la posición de la frase / sublista / listas de listas.

Es decir, reemplacé una cadena con una cadena y un número incremental que la sigue.

myoldlist_1=[['' myoldword''],[''''],[''tttt myoldword''],[''jjjj ddmyoldwordd'']] No_ofposition=[] mynewlist_2=[] for i in xrange(0,4,1): mynewlist_2.append([x.replace(''myoldword'', "%s" % i+"_mynewword") for x in myoldlist_1[i]]) if len(mynewlist_2[i])>0: No_ofposition.append(i) mynewlist_2 No_ofposition


La concatenación de una cadena y un entero es simple: solo use

abhishek+str(2)


Puedes usar un generador para hacer esto!

def sequence_generator(limit): """ A generator to create strings of pattern -> string1,string2..stringN """ inc = 0 while inc < limit: yield ''string''+str(inc) inc += 1 # to generate a generator. notice i have used () instead of [] a_generator = (s for s in sequence_generator(10)) # to generate a list a_list = [s for s in sequence_generator(10)] # to generate a string a_string = ''[''+", ".join(s for s in sequence_generator(10))+'']''


Si queremos una salida como ''string0123456789'' entonces podemos usar la map function y join método de cadena.

>>> ''string''+"".join(map(str,xrange(10))) ''string0123456789''

Si queremos una lista de valores de cadena, use el método de list comprehension .

>>> [''string''+i for i in map(str,xrange(10))] [''string0'', ''string1'', ''string2'', ''string3'', ''string4'', ''string5'', ''string6'', ''string7'', ''string8'', ''string9'']

Nota:

Utilice xrange() para Python 2.x

range() para Python 3.x


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

Para obtener 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(11): string = "string{0}".format(i)

Lo que hiciste ( range[1,10] ) es

  • un TypeError ya que los corchetes denotan un índice ( a[3] ) o una porción ( a[3:5] ) de una lista,
  • un error de sintaxis desde [1,10] no es válido, y
  • un error doble off-by-one dado que el range(1,10) es [1, 2, 3, 4, 5, 6, 7, 8, 9] , y parece querer [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Y string = "string" + i es un TypeError ya que no se puede agregar un entero a una cadena (a diferencia de JavaScript).

Mire la documentación del nuevo método de formato de cadena de Python , es muy poderoso.


for i in range[1,10]: string = "string" + str(i)

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


string = ''string%d'' % (i,)