2014-11-09 4 views
1

나는 python 3.x를 배우고 있으며이 프로그램에 붙어있다. 누군가이 프로그램에서 무슨 일이 일어나는지 설명해 주시겠습니까?이 프로그램은 어떻게 작동합니까 [python 3.x]?

입력 -

pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')] 
    pairs.sort(key=lambda pair: pair[1]) 

출력 -

[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')] 

답변

1

key=lambda pair: pair[1]은 정렬하는 동안 목록의 요소를 비교하는 데 사용됩니다. 람다는 두 번째 값으로 쌍을 색인하기 때문에 정렬하는 동안 문자열 'one', 'two'등을 비교합니다.

문자열은 알파벳 순서와 비슷하지만 알파벳 문자가 아닌 문자에도 순서가 정의되어 있습니다 (구두점 및 자릿수와 같이) lexicographical order으로 문자열을 비교합니다. 문자열을 기준으로 정렬하면 'f'로 시작하고 'o'로 시작하고 ''으로 시작하므로 '1'이 두 번째이므로 '4'와 쌍을 이루게됩니다.

+0

어떤 종류의 비교입니까? – k4droid3

+0

@ k4droid3 묻는 것이 무엇인지 모르지만 sort는'<'보다 적게 사용합니다. – ryanpattison

+0

내가 답을 얻게하십시오 : D – k4droid3

0

번째 변수 쌍에 정렬된다 ([1])되는 '일', '두', ' 3 ','4 '따라서 알파벳순으로 정렬됩니다.

관련 문제