0
두 번째 요소로 튜플 목록을 정렬하려고합니다. 목록의 각 튜플은 튜플과 정수로 구성됩니다.파이썬에서 작동하지 않는 두 번째 항목으로 튜플 목록 정렬
l = [((1, 0, 1), 0), ((1, 0, 6), -1), ((1, 0, 8), -1), ((1, 0, 11), 0), ((1, 0, 14), 0), ((1, 0, 15), 0), ((1, 0, 17), -5), ((1, 0, 20), -3),
((1, 0, 22), 0), ((1, 0, 24), 0)]
sorted(l, key = lambda x:x[1])
print(l)
sorted(l, key = lambda x:x[0])
print(l) # same output
제 sorted()
문 튜플의 제 2 요소에 따라리스트를 분류한다 0, -1, -1, 0, 0, 0, -5, -3, 0, 0, 즉 반환해야 이 또는 튜플의 두 번째 요소는 비 감소 순서가 비슷한 같은 목록 :
[((1, 0, 17), -5), ((1, 0, 20), -3), ((1, 0, 6), -1), ((1, 0, 8), -1), ((1, 0, 1), 0), ((1, 0, 11), 0), ((1, 0, 14), 0), ((1, 0, 15), 0),
((1, 0, 22), 0), ((1, 0, 24), 0)]
그러나 두 print
문이 같은 인쇄 및 변경 원래 목록을 유지하고 있습니다. 왜? 그리고 두 번째 요소로 튜플 목록을 정렬하는 방법은 무엇입니까? 심지어 key=itemgetter(1)
시도했지만 결과는 동일하게 유지됩니다.
sorted() 새 목록을 반환합니다. 대신에 list.sort()를 사용하십시오. –