1. ๊ธฐ๋ณธ์ ์ธ ๋ฆฌ์คํธ ์ ๋ ฌ
๋ฆฌ์คํธ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํฉ๋๋ค.
Python์ ๋ด์ฅ ํจ์์ธ sorted() ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ์ฒด์ sort() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
# ์์ ๋ฆฌ์คํธ
numbers = [5, 3, 8, 6, 7, 2]
# sorted() ์ฌ์ฉ
sorted_numbers = sorted(numbers)
print(sorted_numbers) # [2, 3, 5, 6, 7, 8]
# ์๋ ๋ฆฌ์คํธ๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
print(numbers) # [5, 3, 8, 6, 7, 2]
# sort() ์ฌ์ฉ
numbers.sort()
print(numbers) # [2, 3, 5, 6, 7, 8]
2. ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
์ค๋ฆ์ฐจ์์ด ์๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด reverse=True ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
# ์์ ๋ฆฌ์คํธ
numbers = [5, 3, 8, 6, 7, 2]
# sorted() ์ฌ์ฉ (๋ด๋ฆผ์ฐจ์)
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers) # [8, 7, 6, 5, 3, 2]
# sort() ์ฌ์ฉ (๋ด๋ฆผ์ฐจ์)
numbers.sort(reverse=True)
print(numbers) # [8, 7, 6, 5, 3, 2]
3. key ๋ฅผ ์ฌ์ฉํ ์ ๋ ฌ
์ ๋ ฌ ๊ธฐ์ค์ ์ปค์คํฐ๋ง์ด์งํ ๋ key ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฌธ์์ด ๋ฆฌ์คํธ๋ฅผ ๊ธธ์ด์ ๋ฐ๋ผ ์ ๋ ฌํ ์ ์์ต๋๋ค. ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ ์(์ํ๋ฒณ ์)์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
์ด๋ Python์ sorted() ํจ์์ sort() ํจ์๊ฐ ์์ ์ ๋ ฌ(stable sort) ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ ์ ๋ ฌ์ ์ ๋ ฌ ๊ธฐ์ค์ด ๊ฐ์ ์์๋ค์ด ์๋์ ์์๋ฅผ ์ ์งํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
# ์์ ๋ฌธ์์ด ๋ฆฌ์คํธ
words = ["apple", "banana", "cherry", "date"]
# ๋ฌธ์์ด ๊ธธ์ด ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
sorted_words = sorted(words, key=len)
print(sorted_words) # ['date', 'apple', 'cherry', 'banana']
# sort() ์ฌ์ฉ
words.sort(key=len)
print(words) # ['date', 'apple', 'cherry', 'banana']
4. ๋ฆฌ์คํธ์ ๋ฆฌ์คํธ (๋ค์ค ๋ฐฐ์ด) ์ ๋ ฌ
๋ฆฌ์คํธ ์์ ๋ฆฌ์คํธ๊ฐ ์๋ ๊ฒฝ์ฐ, ํน์ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ 2์ฐจ์ ๋ฆฌ์คํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
# ์์ ๋ค์ค ๋ฐฐ์ด
pairs = [[1, 3], [4, 1], [2, 2], [3, 4]]
# ๋ ๋ฒ์งธ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
sorted_pairs = sorted(pairs, key=lambda x: x[1])
print(sorted_pairs) # [[4, 1], [2, 2], [1, 3], [3, 4]]
# ์ฒซ ๋ฒ์งธ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
pairs.sort(key=lambda x: x[0])
print(pairs) # [[1, 3], [2, 2], [3, 4], [4, 1]]
5. ๋์ ๋๋ฆฌ ์ ๋ ฌ
ํ์ด์ฌ ๋์ ๋๋ฆฌ๋ฅผ ํค ๋๋ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.
๋์ ๋๋ฆฌ๋ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์, ์ ๋ ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌ์คํธ๋ก ๋ฐํํฉ๋๋ค.
5.1 ํค ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
# ์์ ๋์
๋๋ฆฌ
student_scores = {'John': 88, 'Emma': 92, 'Sam': 75, 'Oliver': 95}
# ํค ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
sorted_by_keys = sorted(student_scores)
print(sorted_by_keys) # ['Emma', 'John', 'Oliver', 'Sam']
# ํค์ ๊ฐ์ ๋ชจ๋ ํฌํจํ์ฌ ์ ๋ ฌ
sorted_by_keys = sorted(student_scores.items())
print(sorted_by_keys) # [('Emma', 92), ('John', 88), ('Oliver', 95), ('Sam', 75)]
5.2 ๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
# ๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
sorted_by_values = sorted(student_scores.items(), key=lambda x: x[1])
print(sorted_by_values) # [('Sam', 75), ('John', 88), ('Emma', 92), ('Oliver', 95)]
5.3 ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ค๋ฉด reverse=True ๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
# ๊ฐ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
sorted_by_values_desc = sorted(student_scores.items(), key=lambda x: x[1], reverse=True)
print(sorted_by_values_desc) # [('Oliver', 95), ('Emma', 92), ('John', 88), ('Sam', 75)]
'๐ Development > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 2์ฐจ์ ๋ฐฐ์ด ์ ์ธ ๋ฐฉ๋ฒ (0) | 2023.09.20 |
---|