Ho una lista di oggetti:Crea lista di oggetti attributi in python
[Object_1, Object_2, Object_3]
Ogni oggetto ha un attributo: tempo:
Object_1.time = 20
Object_2.time = 30
Object_3.time = 40
voglio creare una lista di attributi di tempo:
[20, 30, 40]
Qual è il modo più efficiente per ottenere questo risultato? Non può essere per scorrere la lista degli oggetti, giusto ?:
items = []
for item in objects:
items.append(item.time)
"efficiente" è negli occhi di chi guarda ... –
@Pyson: No, non lo è, "efficiente" viene misurato in complessità, tempo di calcolo, linee di codice e/o utilizzo della memoria. – Junuxx
@Junuxx: la maggior parte delle persone non verifica ogni singola istanza di comprensione rispetto a un ciclo per vedere quali sono i cicli di CPU meno numerosi. Se si utilizza Python, è probabilmente sulla facilità di scrivere e leggere, non sulla velocità assoluta. Quello che hai affermato lì, tempo di calcolo, linee di codice e/o utilizzo della memoria, potrebbe essere completamente in disaccordo tra loro. Raddoppiare il codice potrebbe essere più veloce e utilizzare meno memoria, ma richiede più tempo per leggere e scrivere come programmatore. Quale è più * efficiente *? Più veloce da eseguire o più veloce da scrivere in Python? Questo è il mio punto. –