En Python, no puedo hacer:Python string.join (lista) en la tabla de objetos en lugar de matriz de cadenas
>>> list = ['a', 'b', 'c']
>>> ', '.join(list)
'a, b, c'
¿Hay alguna forma fácil de hacer lo mismo cuando tengo una lista de objetos?
>>> class Obj:
... def __str__(self):
... return 'name'
...
>>> list = [Obj(), Obj(), Obj()]
>>> ', '.join(list)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, instance found
¿O tengo que recurrir a un bucle?
o una expresión generadora: '' .join (str (x) para x en la lista) –
¿Alguna idea de cuál de ellos sería más rápido? – gozzilli
Mis experimentos dicen que la comprensión de la lista uno puede ser un 60% más rápido en listas pequeñas (experimento ejecutado 10^6 veces en una lista de tres objetos() s). Sin embargo, su rendimiento es similar en listas grandes (el segundo experimento se ejecuta una vez en una lista de 10^7 objetos()). – gozzilli