¿Cómo puedo convertir cada elemento de la lista en una cadena con el fin de unirlos? [duplicar]

Resuelto AKM asked hace 14 años • 9 respuestas

Necesito unirme a una lista de elementos. Muchos de los elementos de la lista son valores enteros devueltos por una función; es decir,

myList.append(munfunc()) 

¿Cómo debo convertir el resultado devuelto en una cadena para unirlo a la lista?

¿Necesito hacer lo siguiente para cada valor entero?

myList.append(str(myfunc()))

¿Existe una forma más pitónica de resolver problemas de conversión?

AKM avatar Aug 28 '10 16:08 AKM
Aceptado

Llamar str(...)es la forma Pythonic de convertir algo en una cadena.

Es posible que desee considerar por qué desea una lista de cadenas. En su lugar, podría mantenerla como una lista de números enteros y convertir los números enteros en cadenas solo cuando necesite mostrarlos. Por ejemplo, si tiene una lista de números enteros, puede convertirlos uno por uno en un bucle for y unirlos con ,:

print(','.join(str(x) for x in list_of_ints))
Mark Byers avatar Aug 28 '2010 09:08 Mark Byers

No hay nada de malo en pasar números enteros a str. Una razón por la que no puedes hacer esto es que en realidad se supone que myList es una lista de números enteros, por ejemplo, sería razonable sumar los valores de la lista. En ese caso, no pase sus enteros a str antes de agregarlos a myList. Si termina sin convertir a cadenas antes de agregarlas, puede construir una cadena grande haciendo algo como

', '.join(map(str, myList))
allyourcode avatar Aug 28 '2010 09:08 allyourcode