목록의 첫 번째 요소를 기준으로 오름차순으로 정렬하려는 목록이 있습니다. 목록의 첫 번째 요소가 동일한 경우 두 번째 요소를 기반으로 정렬해야합니다.선택 정렬을 사용하여 목록 정렬
지금까지 목록의 첫 번째 요소 만 기반으로 정렬 할 수있었습니다. 나는 그것을 정렬하기 위해 삽입 정렬을 사용했다. 첫 번째 요소가 동일한 경우 두 번째 요소를 기준으로 목록을 정렬하려면 어떻게합니까?
def sort_list():
# An example of the list to be sorted
original_list = [['Glenn', 'Stevens'],
['Phil', 'Wayne'],
['Peter', 'Martin'],
['Phil', 'Turville'],
['Chris', 'Turville']]
sorted_list = list(original_list)
for index in range(1, len(sorted_list)):
pos = index
while pos > 0 and sorted_list[pos - 1][0] > sorted_list[pos][0]:
sorted_list[pos-1], sorted_list[pos] = sorted_list[pos], sorted_list[pos-1]
pos -= 1
return sorted_list
이 으음 ... 내장 된'list.sort' 이미 수행 이. 'original_list'를 파괴하고 싶지 않다면'sorted'를 사용하십시오. – inspectorG4dget
이 함수는 삽입 정렬을 구현해야하므로 list.sort 메소드를 사용할 수 없습니다. 원래 목록도 변경하지 않아야합니다. – SUB0DH
'sorted_list = list (original_list)'는'sorted_list = original_list [:] '로 작성하는 것이 더 편리합니다. –