En Python, je peux le faire:Python string.join (liste) sur tableau d'objets plutôt que tableau de chaînes
>>> list = ['a', 'b', 'c']
>>> ', '.join(list)
'a, b, c'
Yat-il un moyen facile de faire la même chose quand j'ai une liste d'objets?
>>> 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
Ou dois-je recourir à une boucle for?
ou une expression du générateur: '' .join (str (x) pour x dans la liste) –
une idée sur laquelle d'entre eux serait plus rapide? – gozzilli
Mes expériences disent que la compréhension de la liste on peut être un bon 60% plus rapide sur les petites listes (expérience exécutée 10^6 fois sur une liste de trois objets). Cependant, leur performance est similaire sur les grandes listes (2ème expérience exécutée une fois sur une liste d'objets 10^7). – gozzilli