์ ๋ ฌ์ ์ํด ์ฌ์ฉํ๋ ํจ์์ ๋ํด์ ์์ธํ ์์๋ณด์.
์ ๋ ฌํจ์๋ ๋ด์ฅํจ์๊ณ ๋ฆฌ์คํธ์์ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
๐ sort()
๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ๊ณ ์ถ์๋ ์ฌ์ฉ (defalut๋ ์ค๋ฆ์ฐจ์)
arr = [1,5,2,7,8,3,4,9,6]
arr.sort()
print(arr) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
arr = [1,5,2,7,8,3,4,9,6]
arr.sort(reverse=True)
print(arr) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
๐ sorted()
๋ฆฌ์คํธ๋ ๊ฑด๋ค์ง ์์ง๋ง, ์ ๋ ฌ๋ ๊ฐ์ด ํ์ํ ๋ ์ฌ์ฉ
arr = [1,5,2,7,8,3,4,9,6]
arr_sort = sorted(arr)
print(arr) #[1, 5, 2, 7, 8, 3, 4, 9, 6]
print(arr_sort) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
arr = [1,5,2,7,8,3,4,9,6]
arr_sort = sorted(arr, reverse=True)
print(arr_sort) #[9, 8, 7, 6, 5, 4, 3, 2, 1]
๐ sort() vs sorted()
์์์ ์ ์ ์๋ฏ์ด,
sort()๋ ๋ฆฌ์คํธ์ ๊ฐ์ด ๋ณ๊ฒฝ๋๊ณ , sorted()๋ ๋ฆฌ์คํธ์ ๊ฐ์ ๊ฑด๋ค์ง ์๊ณ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ค.
๐ ๋ค์ค ๋ฆฌ์คํธ sort()
๋ค์ค ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ๊ณ ์ ํ ๋ sort()๋ฅผ ์ฌ์ฉํ๋ฉด 0๋ฒ์งธ index๋ก ์๋์ ๋ ฌ๋๋ค.
arr = [[1,5],[4,7],[7,2],[2,6],[9,3]]
arr.sort()
print(arr) # [[1, 5], [2, 6], [4, 7], [7, 2], [9, 3]]
๊ทธ๋ผ ๋ค๋ฅธ index๋ก ์ ๋ ฌํ๊ณ ์ ํ ๋๋ ์ด๋ป๊ฒ ํ ๊น?
๐ key = lambda
key=lambda x : ์ ๋ ฌํ index
๋ฅผ ์ด์ฉํ๋ฉด ๋ค๋ฅธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์๋ค.
arr = [[1,5],[4,7],[7,2],[2,6],[9,3]]
arr.sort(key=lambda x:x[1]) # 1๋ฒ์งธ index ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
print(arr) # [[7, 2], [9, 3], [1, 5], [2, 6], [4, 7]]
๐ ์ฌ๋ฌ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
๋ค์๊ณผ ๊ฐ์ ๋ฆฌ์คํธ๊ฐ ์๋ค๊ณ ํ์.
arr = [[1,2,5],[4,7,2],[6,7,2],[5,2,6],[1,9,3]]
1.
0๋ฒ์งธ index๋ก ์ ๋ ฌ ํ, 2๋ฒ์งธ index๋ก ์ ๋ ฌํ๊ณ ์ถ์๋
arr.sort(key=lambda x: (x[0],x[2]))
print(arr) #[[1, 9, 3], [1, 2, 5], [4, 7, 2], [5, 2, 6], [6, 7, 2]]
(0๋ฒ์งธ index๊ฐ 1๋ก ๊ฐ์ ๋ ๋ฆฌ์คํธ๊ฐ 2๋ฒ์งธ ๊ฐ์ธ 3,5๋ก ์ ๋ ฌ๋์์)
2.
0๋ฒ์งธ index๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ, 2๋ฒ์งธ index๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ถ์๋
๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ ํ๋ index์ -(๋ง์ด๋์ค)๋ฅผ ๋ถ์ธ๋ค.
arr.sort(key=lambda x: (x[0], -x[2]))
print(arr) #[[1, 2, 5], [1, 9, 3], [4, 7, 2], [5, 2, 6], [6, 7, 2]]
(0๋ฒ์งธ index๊ฐ 1๋ก ๊ฐ์ ๋ ๋ฆฌ์คํธ๊ฐ 2๋ฒ์งธ ๊ฐ์ธ 5,3์ผ๋ก ์ ๋ ฌ๋์์)
'๐ Programming > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ์ํ๋ฒณ ๋๋ ์ซ์ ํ์ธ (isalpha , isdigit) (0) | 2022.02.05 |
---|---|
[Python] input ๋์ sys.stdin.readline() ์ฐ์ (0) | 2022.01.30 |
[๋จธ์ ๋ฌ๋] train_test_split (๋ฐ์ดํฐ ๋๋๊ธฐ) (0) | 2021.10.19 |
[๋จธ์ ๋ฌ๋] scikit-learn (์ฌ์ดํท๋ฐ) (0) | 2021.10.19 |
[Python] web scraping (0) | 2020.09.25 |