2012-06-04 3 views
39

a 속성을 가진 클래스 C이 있다고합시다.Python에서 객체 목록의 합계/평균

a의 합을 파이썬에서 C의 목록으로 가져 오는 가장 좋은 방법은 무엇입니까?

+0

아마도'소문자 '를 사용하는 것이 가장 좋으므로'A' 대신'a'가 사용됩니다. – jamylak

+0

http://whataveyoutried.com/ – Marcin

+2

@Marcin for c_list; total + = c.a; 그러나 나는 그것이 올바른 방법이 아니라는 것을 안다. 나는 말할 필요가 없다. – jsj

답변

97

사용하십시오 generator expression :

sum(c.A for c in c_list) 
+0

캔트 12 분 더받습니다. – jsj

+5

단순함이 아름답습니다] – invert

+0

여러 속성 합계를 얻으려면 짧은 방법이 있습니까? sum (c_list의 c에 대한 c) sum (c_list의 c에 대한 c.B) sum (c_list의 c에 대한 c.C) 이것은 어떤 성능 관련 사항이 있습니까? –

2

나는 비슷한 작업을했지만, 내 당신의 속성 C.A.로 지속 시간을 합산 포함했다 또 다른 질문이 결합 링크에서 언급 한 바와 같이, 합이 시작 값을 필요로하기 때문에 나는

sum((c.A for c in cList), timedelta()) 

함께했다, here 물었다.

관련 문제