좋은 제목으로 나오지 못해 죄송합니다.파이썬의 단일 요소에서 다른 우선 순위의 중첩 목록을 정렬하는 방법은 무엇입니까?
나는 목록을 가지고 : X
가 난 상관 없어 뭔가
some_list = [[X, '4x01'], [X, '3x02'], [X, '4x02'], [X, '3x01']]
.
- 내림차순으로 첫 번째 문자 :
나는 다음과 같은 우선 순위 목록의 두 번째 요소를 정렬합니다.
- 오름차순으로 마지막 2 문자.
최종 출력은 다음과 같아야합니다
some_list = [[X, '4x01'], [X, '4x02'], [X, '3x01'], [X, '3x02']]
주 : 잘못된 답을 제공하는 솔루션입니다 :
output = sorted(some_list, key=lambda lis: lis[3], reverse=True)
이 지점에 도달하면 더 나은 옵션은 아마 그냥 비교 함수를 작성하는 것일 것입니다. 그렇게하면 목록을 두 번 정렬하지 않아도됩니다 (목록이 클 경우 잠재적으로 값 비싼 작업 임). – Amber
@Amber : 공정한 포인트. 그래도이 방법은 알만한 가치가있는 유용한 기술입니다. – NPE
당신의 주장을 이해시켜 주시길 바랍니다. 2 자 길이라면'-ord (x [1] [: 1])'이 대신 속임수를 쓰지 않겠습니까? – elwc