๐ก ๋ณธ ํฌ์คํ ์ ์์ ๋ด์ฉ, ๊ต์ฌ, ChatGPT๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ ๋ฆฌํ ํ์ต ๊ธฐ๋ก์ ๋๋ค.
๊ธ๊ณผ ๊ทธ๋ฆผ ๋ฑ ๋ชจ๋ ์ฝํ ์ธ ์ ์ ๋ฆฌ ๋ฐ ์์ฑ์ ๋ณธ ๋ธ๋ก๊ทธ์์ ์ง์ ์ ์๋์์ต๋๋ค.
Python ๊ธฐ์ด๋ถํฐ Streamlit ๋ฐ์ดํฐ ์๊ฐํ๊น์ง ์ ๋ฆฌํ๋ ํ์ต ๊ธฐ๋ก์ ๋๋ค.
์ด ๊ธ์ '19. [ํ์ด์ฌ] ์ ๋ ฌ ๊ธฐ์ ๊ณผ ์ ์ฉํ ์ ํธ ํจ์' ์ ๋๋ค.
Python์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ๋ ฌ(Sorting) ๊ธฐ๋ฅ๊ณผ ๋ค์ํ ๋ด์ฅ ํจ์(Utility Functions) ๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ค.
ํนํ ๋ฆฌ์คํธ๋ ๋์ ๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ณผ์ ์์ ์ ๋ ฌ๊ณผ ์ง๊ณ ๊ธฐ๋ฅ์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ํ๋ค.
์ด๋ฒ ๊ธ์์๋ Python์์ ์์ฃผ ์ฌ์ฉํ๋ ์ ๋ ฌ ๋ฐฉ๋ฒ๊ณผ ๋ํ์ ์ธ ์ ํธ ํจ์๋ค์ ์ ๋ฆฌํด๋ณธ๋ค.
๋ฆฌ์คํธ ์ ๋ ฌ
Python์์๋ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌํ ๋ sort() ๋ฉ์๋์ sorted() ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
sort()
sort()๋ ๋ฆฌ์คํธ ์์ฒด๋ฅผ ์ ๋ ฌํ๋ ๋ฉ์๋์ด๋ค.
numbers = [5, 3, 1, 4, 2]
numbers.sort()
print(numbers)
์คํ ๊ฒฐ๊ณผ
[1, 2, 3, 4, 5]
์ฆ sort()๋ ์๋ณธ ๋ฆฌ์คํธ๋ฅผ ์ง์ ๋ณ๊ฒฝํ๋ค.
sorted()
sorted()๋ ์ ๋ ฌ๋ ์ ๋ฆฌ์คํธ๋ฅผ ๋ฐํํ๋ค.
numbers = [5, 3, 1, 4, 2]
result = sorted(numbers)
print(result)
์คํ ๊ฒฐ๊ณผ
[1, 2, 3, 4, 5]
์ด ๊ฒฝ์ฐ ์๋ณธ ๋ฆฌ์คํธ๋ ๋ณ๊ฒฝ๋์ง ์๋๋ค.
print(numbers)
์คํ ๊ฒฐ๊ณผ
[5, 3, 1, 4, 2]
reverse ์ ๋ ฌ
์ ๋ ฌ์ ๋ฐ๋๋ก ํ๊ณ ์ถ๋ค๋ฉด reverse=True ์ต์ ์ ์ฌ์ฉํ ์ ์๋ค.
numbers = [5, 3, 1, 4, 2]
numbers.sort(reverse=True)
print(numbers)
์คํ ๊ฒฐ๊ณผ
[5, 4, 3, 2, 1]
key ์ต์
์ ๋ ฌ ๊ธฐ์ค์ ์ง์ ํ ๋๋ key ์ต์ ์ ์ฌ์ฉํ๋ค.
์๋ฅผ ๋ค์ด ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์๋ค.
words = ["python", "sql", "data", "ai"]
result = sorted(words, key=len)
print(result)
์คํ ๊ฒฐ๊ณผ
['ai', 'sql', 'data', 'python']
๋์ ๋๋ฆฌ ์ ๋ ฌ
๋์ ๋๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ ฌ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์
items()์ sorted()๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ค.
scores = {
"Matt": 90,
"Bob": 85,
"Chris": 95
}
result = sorted(scores.items())
print(result)
์คํ ๊ฒฐ๊ณผ
[('Bob', 85), ('Chris', 95), ('Matt', 90)]
๊ฐ ๊ธฐ์ค ์ ๋ ฌ๋ ๊ฐ๋ฅํ๋ค.
result = sorted(scores.items(), key=lambda x: x[1])
print(result)
์คํ ๊ฒฐ๊ณผ
[('Bob', 85), ('Matt', 90), ('Chris', 95)]
์ ์ฉํ ๋ด์ฅ ํจ์
Python์๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ ๋ค์ํ ๋ด์ฅ ํจ์๋ค์ด ์๋ค.
๋ํ์ ์ธ ํจ์๋ค์ ์ดํด๋ณด์.
len()
๋ฐ์ดํฐ์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
data = [1,2,3,4]
print(len(data)) # ๊ฒฐ๊ณผ: 4
sum()
์ซ์ ๋ฐ์ดํฐ๋ฅผ ํฉ์ฐํ๋ค.
numbers = [10,20,30]
print(sum(numbers)) # ๊ฒฐ๊ณผ: 60
max() / min()
์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ตฌํ ์ ์๋ค.
numbers = [10,20,30]
print(max(numbers)) # ๊ฒฐ๊ณผ: 30
print(min(numbers)) # ๊ฒฐ๊ณผ: 10
enumerate()
๋ฐ๋ณต๋ฌธ์์ ์ธ๋ฑ์ค์ ๊ฐ์ ํจ๊ป ๊ฐ์ ธ์ฌ ์ ์๋ค.
names = ["Matt", "John", "Chris"]
for i, name in enumerate(names):
print(i, name)
# ๊ฒฐ๊ณผ:
0 Matt
1 John
2 Chris
zip()
์ฌ๋ฌ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ํจ๊ป ๋ฌถ์ ๋ ์ฌ์ฉํ๋ค.
names = ["Matt", "John"]
scores = [90, 85]
for name, score in zip(names, scores):
print(name, score)
# ๊ฒฐ๊ณผ:
Matt 90
John 85
์ ๋ฆฌ
Python์์๋ sort()์ sorted()๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ๋ ฌํ ์ ์์ผ๋ฉฐ,
key ์ต์ ์ ํ์ฉํ๋ฉด ๋ค์ํ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
๋ํ len(), sum(), max(), min(), enumerate(), zip()๊ณผ ๊ฐ์ ๋ด์ฅ ํจ์๋ค์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณผ์ ์์ ๋งค์ฐ ์์ฃผ ์ฌ์ฉ๋๋ ์ ์ฉํ ๋๊ตฌ๋ค์ด๋ค.
์ด๋ฌํ ์ ๋ ฌ ๊ธฐ์ ๊ณผ ์ ํธ ํจ์๋ฅผ ์ ํ์ฉํ๋ฉด Python์์ ๋ฐ์ดํฐ๋ฅผ ํจ์ฌ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
๋ค์ ๊ธ์์๋ Python ์ฝ๋๋ก ๊ฐ๋จํ ์น ์ฑ์ ๋ง๋ค ์ ์๋ Streamlit ์ค์น์ ์ฒซ ํ๋ฉด ๋ง๋ค๊ธฐ๋ฅผ ์ดํด๋ณธ๋ค.
'Python & SQL > Python Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 21. [Streamlit] ๋ฐ์ดํฐ ์๊ฐํ์ ์ฌ์ฉ์ ์ ๋ ฅ (0) | 2026.03.08 |
|---|---|
| 20. [Streamlit] ์ค์น๋ถํฐ ์ฒซ ํ๋ฉด๊น์ง (0) | 2026.03.08 |
| 18. [ํ์ด์ฌ] ๋ชจ๋๊ณผ ํ๋ก์ ํธ ๊ตฌ์กฐ (2) | 2026.03.08 |
| 17. [ํ์ด์ฌ] ํด๋ก์ ์ ๋ฐ์ฝ๋ ์ดํฐ (2) | 2026.03.08 |
| 16. [ํ์ด์ฌ] class methos vs static method (2) | 2026.03.08 |