1. sort
์๋ณธ์ ๋ณํ์์ผ ์ ๋ ฌํ๋ฉฐ '๋ณ์.sort()'ํํ๋ก ์ฌ์ฉํ๋ค.
์ ๋ ฌ ๊ธฐ์ค์ ๋ฌธ์์ด์ ์ํ๋ฒณ, ๊ฐ๋๋ค์์ด๊ณ ์ซ์๋ ์ค๋ฆ์ฐจ์์ด ๊ธฐ๋ณธ๊ฐ์ด๋ค.
num_list = [10,20,15,50,22]
num_list.sort()
print(num_list)
>>> [10, 15, 20, 22, 50]
str_list = ['a','d','e','b','c']
str_list.sort()
print(str_list)
>>> ['a', 'b', 'c', 'd', 'e']
2. sorted
์๋ณธ์ ๋ณํ์ํค์ง ์๊ณ ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค. ๊ดํธ()์์๋ iterableํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ฌ ์ฌ์ฉํ๋ค. ์ ๋ ฌ ๊ธฐ์ค์ ์์ sort์ ๋์ผํ๋ค.
print(sorted([10,20,15,50,22]))
>>> [10, 15, 20, 22, 50]
str_list = ['a','d','e','b','c']
print(sorted(str_list))
>>> ['a', 'b', 'c', 'd', 'e']
3. Parameter
sort์ sorted ๋ชจ๋ key, reverse ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ๋๋ค.
sorted(์ ๋ ฌํ ๋ฐ์ดํฐ, reverse ํ๋ผ๋ฏธํฐ) / sorted(์ ๋ ฌํ ๋ฐ์ดํฐ, key ํ๋ผ๋ฏธํฐ) / sorted(์ ๋ ฌํ ๋ฐ์ดํฐ, key ํ๋ผ๋ฏธํฐ, reverse ํ๋ผ๋ฏธํฐ)ํํ๋ก ์ฐ์ธ๋ค.
3-1. reverse
bool๊ฐ์ ๋ฃ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ reverse=False(์ค๋ฆ์ฐจ์)์ด๋ค. reverse=True๋ก ์ค์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ์ ์๋ค.
num_list = [10,20,15,50,22]
num_list.sort(reverse=True)
print(num_list)
>>> [50, 22, 20, 15, 10]
print(sorted(['a','d','e','b','c'],reverse=True))
>>> ['e', 'd', 'c', 'b', 'a']
3-2. key
์ ๋ ฌ์ ๋ชฉ์ ์ผ๋ก ํ๋ ํจ์๋ฅผ ๊ฐ์ผ๋ก ๋ฃ๋๋ค. lambda๋ฅผ ์ด์ฉํ ์ ์๋ค. ์ค์ ํ key๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋๊ณ ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์์ด๋ค.
str_list=['aaa','ddddd','e','bbbb','cc']
str_list.sort(key=len) #๋ฌธ์๊ธธ์ด์ ๋ฐ๋ผ ์ ๋ ฌ
>>> ['e', 'cc', 'aaa', 'bbbb', 'ddddd']
tuple_list=[('aaa',10),
('ddddd',20),
('e',15),
('bbbb',50),
('cc',22)]
#์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
tuple_list.sort(key=lambda x:x[0])
>>> [('aaa', 10), ('bbbb', 50), ('cc', 22), ('ddddd', 20), ('e', 15)]
#๋๋ฒ์งธ ์ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๋ค ์ฒซ๋ฒ์งธ ์ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
#์ฒซ๋ฒ์งธ ์ธ์์ ๋์ผํ ๊ฐ์ด ์์ด ๋๋ฒ์งธ ์ธ์๋ฅผ ํ์ธํด์ผํ ๋ ์ฃผ๋ก ์ฌ์ฉ
tuple_list.sort(key=lambda x:(x[1],x[0]))
>>> [('aaa', 10), ('e', 15), ('ddddd', 20), ('cc', 22), ('bbbb', 50)]
# '-'๋ถํธ๋ฅผ ์ด์ฉํด ๋ด๋ฆผ์ฐจ์๋ ๊ฐ๋ฅ ex) key=lambda x:(x[1],-x[0])
'Skill Up๐ฅ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| input(), sys.stdin.readline ์ ๋ฆฌ (0) | 2022.10.31 |
|---|---|
| join ํจ์ ์ ๋ฆฌ(๋ฌธ์์ด ํฉ์น๊ธฐ) (0) | 2022.10.06 |
| defaultdict ์ ๋ฆฌ (0) | 2022.05.03 |
| ๋์ ๋๋ฆฌ ์๋ฃํ ์ ๋ฆฌ (0) | 2022.05.03 |