[Python] list comprehension e .append()

simone gabbriellini simone.gabbriellini a gmail.com
Ven 22 Gen 2010 00:22:07 CET


Salve,

una curiosità da neofita. 

esiste un modo per scrivere in modo più conciso e performante il seguente codice?

a = sum([True for element in lista if sum(element.attribute)==0])
b = sum([True for element in lista if sum(element.attribute)==1])
c = sum([True for element in lista if sum(element.attribute)==2])
d = sum([True for element in lista if sum(element.attribute)==3])
e = sum([True for element in lista if sum(element.attribute)==4])

in questo caso avevo pensato a:

a=[]
b=[]
c=[]
d=[]
e=[]
for element in lista:
	if sum(element.attribute) ==0:
		a.append(....)
	elif ....
	.....

in questo modo si riduce il numero di volte che scorro "lista", giusto? 
ma è effettivamente il modo corretto di affrontare una struttura logica come questa?

molte grazie,
simone


Maggiori informazioni sulla lista Python