[Python] Sort

두꺼비·2022년 1월 11일
2

오름차순 정렬

llist = [1, 3, 6, 2, 4]
list1 = ['a', 'c', 'd', 'b']


1. sorted(list)
원래의 list는 변하지 않습니다.

print(sorted(llist))
print(llist)
print(sorted(list1))
print(list1)

[1, 2, 3, 4, 6]
[1, 3, 6, 2, 4]
['a', 'b', 'c', 'd']
['a', 'c', 'd', 'b']


2. list.sort()
원래의 list가 변합니다.

llist.sort()
print(llist)
list1.sort()
print(list1)

[1, 2, 3, 4, 6]
['a', 'b', 'c', 'd']


내림차순 정렬

list2 = [5, 7, 2, 1, 3]


1. sorted(list, reverse=True)
원래의 list는 변하지 않습니다.

print(sorted(list2, reverse=True))
print(list2)

[7, 5, 3, 2, 1]
[5, 7, 2, 1, 3]


2. list.sort(reverse=True)
원래의 list가 변합니다.

list2.sort(reverse=True)
print(list2)

[7, 5, 3, 2, 1]


길이 순으로 정렬

list3 = ['apple', 'pineapple', 'banana', 's', 'aa']


1. sorted(list, key=len)
원래의 list는 변하지 않습니다.

print(sorted(list3, key=len))
print(list3)

['s', 'aa', 'apple', 'banana', 'pineapple']
['apple', 'pineapple', 'banana', 's', 'aa']


2. list.sort(key=len)
원래의 list가 변합니다.

list3.sort(key=len)
print(list3)

['s', 'aa', 'apple', 'banana', 'pineapple']


특정값 기준으로 정렬

list4 = [['c', 2], ['d', 1], ['a', 3], ['b', 5], ['c', 1], ['c', 3]]


1. sorted(list, key=lambda x:(x[0], x[1])))
원래의 list는 변하지 않습니다.

print(sorted(list4, key=lambda x : (x[0], x[1])))
print(list4)

[['a', 3], ['b', 5], ['c', 1], ['c', 2], ['c', 3], ['d', 1]]
[['c', 2], ['d', 1], ['a', 3], ['b', 5], ['c', 1], ['c', 3]]


2. list.sort(key=lambda x:(x[0], x[1]))
원래의 list가 변합니다.

list4.sort(key=lambda x:(x[0], x[1]))
print(list4)

[['a', 3], ['b', 5], ['c', 1], ['c', 2], ['c', 3], ['d', 1]]

profile
두꺼비는 두껍다

0개의 댓글