2012-03-22 7 views

답변

3

지금까지 본 첫 번째 값을 set으로 유지하고 첫 번째 값이 집합에없는 경우에만 하위 목록 만 유지합니다.

set.add 항상 None를 반환하기 때문에, keys.add(sublist[0]) or sublistsublist과 동일 None or sublist과 동일합니다, 그래서 당신은 지능형리스트 내부의 설정 값을 추가 할 수 있도록하면서, 목록에 보관됩니다 어떤 영향을주지 않습니다. 목록의 순서가 문제가되지 않는 경우

keys = set() 
biglist = [keys.add(sublist[0]) or sublist 
       for sublist in biglist 
        if sublist[0] not in keys] 
del keys # if you don't need it any more 
+0

와우, 꽤 좋은 답변이며 작동합니다. 그것은 그것을 알아 내기 위해 나에게 약간의 최소 한도를졌다. 설명 주셔서 감사합니다. – siamii

1

, 당신이 시도 할 수 있습니다 :

dict([(sublist[0], sublist) for sublist in biglist]).values() 

또는

dict([(sublist[0], sublist) for sublist in reversed(biglist)]).values() 

의 차이는 두 번째가에 대한 첫 번째 목록을 반환한다는 것입니다 동일한 첫 번째 값, 다른 하나는 반대입니다.

관련 문제