2012-10-30 6 views

답변

1

를 참조에만 고유 한 값을 반환 set 공장을 사용할 수 있습니다, 그리고 당신은 얻을 수 있습니다 당신의 set 통해 list 사용 list 공장을 백업 : - ... 목록의 뒤쪽으로, 세트에 넣어

>>> set(x['created_by'] for x in dave) 
set(['admin', 'adam']) 

>>> list(set(x['created_by'] for x in dave)) 
['admin', 'adam'] 
5

목록 이해가 잘 작동합니다

[ x['created_by'] for x in dave if 'created_by' in x ] 

당신이 'created_by' 당신이 if 'created_by' in x 부분을 남길 수 있습니다 dave에 포함 DICT 각각의 핵심이라고 확신이 있다면 -을 이 경우 키가 누락되면 KeyError이 발생합니다.

물론 값이 일 경우 주문이 중요할지 결정해야합니다. 순서가 중요하지 않은 경우 set 길을 가야하는 것입니다 : 순서가 중요한 경우

set(x['created_by'] for x in dave if 'created_by' in x) 

this classic question

+0

죄송합니다. – Sevenearths

1

list(set(d['created_by'] for d in dave)) 
0

목록 작성의 발전은 'created_by'가없는 항목에 if 조건을 사용하는 것입니다. 지저분한 데이터로 작업 할 때 이것은 종종 필요합니다.

list(set(x['created_by'] for x in dave if 'created_by' in x)) 
>>> ['admin', 'adam'] 
+0

건배를 업데이트했습니다. 나는 그것을 염두에 두겠다. – Sevenearths

관련 문제