사전의 키 요소를 비교하려고합니다. 먼저 모든 키의 첫 번째 요소를 비교하고 가장 높은 값을 가진 요소가 두 개 이상있는 경우 해당 키의 두 번째 요소를 비교합니다. 예를 들어Python - 사전의 키 요소를 비교하여 키 중 하나를 반환합니다
:
>>> my_dict = { 111: [50, 2, 34], 122: [50 , 4, 45], 133: [40, 1, 12], 144: [20, 5, 77]}
1)는 가장 높은 값의 첫 번째 요소를 찾는다. 결과 같아야
('111', '122')
2) 낮은 값 '111'과 '112'의 두 번째 요소를 찾는다. 결과는 다음과 같아야합니다
('111')
나는 최대 값으로 키를 찾을 수 this 토론을 발견했다. 동일한 최대 값을 갖는 여러 개의 키를 반환하는 한 가지 해결책은 다음과 같습니다.
>>> stats = {'a':1000, 'b':3000, 'c': 100, 'd':3000}
>>> [key for key,val in stats.iteritems() if val == max(stats.values())]
['b', 'd']
이 키는 하나의 요소 만 가질 수 있다는 점에서 문제가 있습니다. 여러 요소가있는 키에 대해이를 수행하는 방법을 알아야합니다.
>>> [item[0] for item in my_dict.values()]
['50', '50', '40', '20']
그러나 나는 그들을 어떻게 다음을 비교합니까 :
은 내가 이런 식으로 각 키의 첫 번째 요소를 반환 할 수 있습니다 생각? 도와 주셔서 미리 감사드립니다. DICT에 대한 예제를 사용
키에 신경 쓰지 않는다면,'my_dict.values ()'는리스트 (값)리스트를 줄 것이다. 그런 다음 목록을 비교할 수 있습니다. –
당신은 for 루프, 또는'cmp()','sum()', 또는 numpy 같은 외부 라이브러리와 같은 함수를 사용하여 그렇게 할 수 있습니다. –