documentation은이를 보장하지 않습니다. 문서화 된 다른 곳이 있습니까?python의 sorted() 함수는 안정적입니까?
목록의 정렬 방법이 guaranteed to be stable (메모 9 번째 점 : "sort() 메서드가 안정적으로 작동한다는 보장") 이후 안정적이라고 생각합니다. 정렬은 기능적으로 유사합니다. 그러나 나는 그렇게 말하는 확실한 근원을 찾을 수 없다.
목적 : 두 레코드에서 기본 키가 같은 경우 기본 키와 보조 키를 기준으로 정렬해야합니다. sorted()가 안정적인 것으로 보장되면 보조 키를 정렬하고 기본 키를 정렬하여 필요한 결과를 얻을 수 있습니다.
추 신 : 혼란을 피하기 위해 "평등을 비교하는 요소의 상대적인 순서를 변경하지 않도록 보장하면 정렬이 안정적입니다."라는 의미에서 안정을 사용하고 있습니다.
내가 튜플이나 목록을 정렬하는 경우 "기본"정렬 키가 동일 할 때마다 "보조"키로 정렬됩니다. 예를 들어,'sorted ([(1,2), (1,1)])'은 원래의 입력을 동일한 순서/순서로 반환하는 대신에 [(1,1), (1, 2)]'를 반환합니다. 안정성의 보장이 원래'[(1,2), (1,1)] 입력을 돌려줘야한다는 것을 의미합니까? 이 경우에 당신은 분명하고''((1, 2), (1, 1)) key = lambda t : t [0])' – ray
이 경우에 기대되는 것이 아닌가? 파이썬은 기본적으로 첫 번째 "기본"요소가 아닌 모든 요소를 통해 튜플을 비교합니다. 첫 번째 요소 만 정렬하려면'key' 매개 변수를 명시 적으로 전달하면됩니다. –