2014-01-11 1 views
0

그래서 예를 들어, 나는 사전을 가지고 :파이썬 사전으로 튜플, 검색 키 후 분류()

points_tuples = [(team1_id,team1_points),(team2_id,team2_points),(team3_id,team3_points)] 

을 그리고 나는 점을 기준으로 정렬, 정렬() 메소드를 사용 :

sorted_tuple = sorted(periods_tuples,key=lambda team: team[1],reverse=True) 

예를 들어 1 등 팀의 팀 ID를 얻고 싶습니다 ...

어떻게 할 수 있습니까?

감사합니다, 아라

사전 아니다
+3

이것은 사전이 아닙니다. 당신이 가지고있는 튜플의 목록입니다. –

+1

동일한 최대 점수를 가진 두 팀이 있다면 무엇을하고 싶습니까? – DSM

+0

@DSM, 리그가 연계를 위해 어떻게 작용하는지 조금 복잡해 보입니다. 그래서 그것을 이해할 수있는 또 다른 기능을 구현할 것입니다! –

답변

2

, 그것은 튜플의 목록입니다! 하지만 당신은 두 번째는 그 튜플의 첫 번째 값을 의미

top_score_id = sorted_tuple[0][0] 

첫 번째 제로 목록의 첫 번째 튜플을위한 사용하여 첫 번째 ID에 액세스 할 수 있습니다.

2

첫 번째 팀만 검색하는 경우 정렬 할 필요가 없습니다. max 사용 sorted_tuple로

>>> points_tuples = [ 
...  ('team1', 10), 
...  ('team2', 30), 
...  ('team3', 20), 
... ] 
>>> max(points_tuples, key=lambda team: team[1]) 
('team2', 30) 
>>> max(points_tuples, key=lambda team: team[1])[0] 
'team2' 
+0

나는 또한 두 번째로 끝내는 사람을 얻을 필요가있다. –

+0

@AraSivaneswaran 그런 다음 다른 사람들이 대답 할 때'sorted_tuple [0] [0]','sorted_tuple [1] [0]'을 사용하십시오. – falsetru

1

은 당신이 당신의 touple 구조에 따라 그 튜플의 0 번째 요소가 될 것 sorted_tuple[0] .team ID로 첫 번째 튜플을 취할 수 지점으로 분류 목록을 반환합니다.

team_id = sorted_tuple[0][0]