arr = [1,3, 10, 43, 5]
arr.sort()
print(arr)
[1, 3, 5, 10, 43]
sort() 는 리스트 자체를 오름차순으로 정렬한다.
반환 값이 없음!
arr = [1,3, 10, 43, 5]
arr.sort(reverse= True)
print(arr)
[43, 10, 5, 3, 1]
reverse 옵션을 True 로 설정하면 내림차순
정렬이 된다.
기본적으로는 False 로 설정돼있어 오름차순
임!
정렬된 리스트를 반환하는 함수이다.
arr = [1,3, 10, 43, 5]
newArr = sorted(arr)
print(newArr)
[1, 3, 5, 10, 43]
정렬 기준이 되는 함수를 값으로 넣는다.
sort()
sorted()
모두 사용 가넝!
arr = ["aa","happy","abc","hello","python","worldddd"]
newArr = sorted(arr, key = lambda x:x[1])
print(newArr)
['aa', 'happy', 'abc', 'hello', 'worldddd', 'python']
문자열의 두번째 원소로 정렬하고자 한다면, key = lambda x:x[1]
으로 key 를 지정하면 된다.
arr = [("tom", 23), ("lenna", 29), ("henry", 18), ("jessie", 25), ("henry", 32)]
arr.sort(key = lambda x:(x[0], -x[1]))
print(arr)
[('henry', 32), ('henry', 18), ('jessie', 25), ('lenna', 29), ('tom', 23)]
tuple 로 이뤄진 배열을 정렬할 때, lambda 식에 tuple 형식으로 식을 작성하면 된다.
- 부호
를 붙여주면, 내림차순으로 정렬할 수 있다.
위의 예제는 이름 - 오름차순, 같은 이름이라면 나이 - 내림차순
으로 정렬된다!
리스트를 거꾸로 뒤집는 함수이다. iterator 를 반환하기 때문에 리스트 로 변환해주어야, 리스트로 사용할 수 있다.
arr = [1,3, 10, 43, 5]
newArr = reversed(arr)
print(list(newArr))
[5, 43, 10, 3, 1]
정렬하지 않고 고대로 뒤집어 주는 게 특징이다.
리스트 자체를 거꾸로 뒤집는 함수.
arr = [1,3, 10, 43, 5]
arr.reverse()
print(arr)
[5, 43, 10, 3, 1]
이 함수도 반환값이 없다.