<์ค๋์ ํ์ต>
- ํ์ด์ฌ ๋ผ์ด๋ธ ์ธ์
3ํ์ฐจ
- ๋ณต์ต๋ฌธ์ ์ ์ถ
- ์ฐ์ต๋ฌธ์ ์ ์ถ
- SQL ์ฑ์ทจ๋ ํ๊ฐ ํผ๋๋ฐฑ ๋ฆฌ๋ทฐ
<ํ์ต๋ด์ฉ ์ ๋ฆฌ>
ํ์ด์ฌ ๋ผ์ด๋ธ ์ธ์ 3ํ์ฐจ
๐ ํ์ด์ฌ ๋ผ์ด๋ธ ์ธ์ 3ํ์ฐจ ๊ฐ์ ์๋ฃ
1. ๋ฆฌ์คํธ
<์ค๋ฌด์์ ์์ฃผ ์ฐ์ด๋ ๋ํ ํจ์>
append
insert
count
sort
โ ์ค์ต ๋ฌธ์ 1 : ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ & ๋ฉ์๋ ์ฝ๋ผ์ฃผ
<์ฒดํฌํฌ์ธํธ>
โช๏ธ reverse() (* sort()๋ ๋ง์ฐฌ๊ฐ์ง!)
โ ๏ธ ๋ค์ง์ ๊ฐ์ ๋ฐํ X / ์๋ณธ ๋ฆฌ์คํธ ์์์๋ง ์์ ๋์ด ์๋ค.
sub_cities.reverse() ๋ฐํํ๋ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ์๋ก์ด ๋ณ์์ ๊ฐ ์ง์ ๋ ๋ถ๊ฐ. # ์ถ๋ ฅ: None
๋ฐฉ๋ฒ 1) reverse๊ฐ ์ ์ฉ๋ ์๋ณธ ๋ฆฌ์คํธ๋ฅผ ์๋ก์ด ๋ณ์์ ์ ์ฅ
sub_cities.reverse() # sub_cities ๋ฆฌ์คํธ ์์์๋ง ๋ฐ๋ ์ํ. ๊ฐ ๋ฐํ ์ ํจ. reversed_cities = sub_cities #reverse ์ ์ฉ๋ ์๋ณธ ๋ฆฌ์คํธ๋ฅผ ์๋ก์ด ๋ณ์์ ๋ถ์ฌ. print(reversed_cities)โ๋ฐฉ๋ฒ 2) ์ฌ๋ผ์ด์ฑ์ผ๋ก ์ญ์ถ๋ ฅ โญ๏ธ
- ์ฝ๋๊ฐ ํ ์ค๋ก ๊ฐ๋จ
- ์๋ณธ ๋ฆฌ์คํธ ๊ฐ ์ ์ง
reversed_cities = sub_cities[::-1] print(reversed_cities)
cities = ["Seoul", "Busan", "Incheon", "Gwangju", "Daejeon"]
# TODO 1) ๋ฆฌ์คํธ์์ ๊ฐ์ด๋ฐ 3๊ฐ ๋์๋ง ์๋ผ sub_cities ์ ์ ์ฅ
sub_cities = cities[1:4]
# TODO 2) sub_cities ์ ์์๋ฅผ ๊ฑฐ๊พธ๋ก ๋ค์ง์ด reversed_cities ์ ์ ์ฅ
# ์ฌ๋ผ์ด์ฑ
reversed_cities = sub_cities[::-1]
# TODO 3) reversed_cities ์ "Ulsan" ์ ๋งจ ๋ค์ ์ถ๊ฐ
reversed_cities.append("Ulsan")
# TODO 4) ์ต์ข
๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅ
print(reversed_cities)
โ ์ค์ต ๋ฌธ์ 3 : ๋ฆฌ์คํธ์ ์ต๋/์ต์์ ํ๊ท ๊ตฌํ๊ธฐ
๋ฐฉ๋ฒ 1) max, min ์ฌ์ฉ
nums = list(map(int, input("์ ์๋ฅผ ์ ๋ ฅํ์ธ์ (๊ณต๋ฐฑ ๊ตฌ๋ถ): ").split())) max_num = max(nums) min_num = min(nums) avg_num = sum(nums) / len(nums) print(f"์ต๋๊ฐ: {max_num}") print(f"์ต์๊ฐ: {min_num}") print(f"ํ๊ท : {avg_num}")
๋ฐฉ๋ฒ 2) sort() ์ฌ์ฉ
- sort(), reverxe() ํจ์๊ฐ ๊ฐ ๋ฐํํ์ง ์์ ์ฃผ์ํ๊ธฐ!!
nums = list(map(int, input("์ ์๋ฅผ ์ ๋ ฅํ์ธ์ (๊ณต๋ฐฑ ๊ตฌ๋ถ): ").split())) nums.sort() print(f"์ต๋๊ฐ: {nums[0]}") print(f"์ต์๊ฐ: {nums[-1]}") print(f"ํ๊ท : {sum(nums) / len(nums)}")
2. ํํ
- ์์ ์์ / ์ค๋ณต ๊ฐ๋ฅ / ๋ณ๊ฒฝ X
- ํจํน์ผ๋ก ์์ฑ ๊ฐ๋ฅ
- ์์ ํ๋๋ฅผ ํํ๋ก ์์ฑ ์, ์ผํ(,) ํฌํจ๋์ด์ผ ํจ.
single_element = (5,)
print(single_element) # ์ถ๋ ฅ: (5,)
print(type(single_element)) # ์ถ๋ ฅ: <class 'tuple'>
# ์ผํ๊ฐ ์์ผ๋ฉด ์ผ๋ฐ ๊ฐ์ผ๋ก ์ธ์
not_a_tuple = (5)
print(type(not_a_tuple)) # ์ถ๋ ฅ: <class 'int'>
- ํํ์ ๋ถํธ์ฑ → ํํ์ ์๋ก์ด ์์๋ฅผ ์ถ๊ฐํด๋ ์๋ณธ ํํ์ ์ ์ง๋จ.
but ๋ฆฌ์คํธ๋ ๊ฐ๋ณ์ฑ → ์๋ก์ด ์์ ์ถ๊ฐํ๋ฉด ์๋ณธ์ด ์์ ๋จ.
3. ๋์ ๋๋ฆฌ
- dict.get(key, default) : ๋์
๋๋ฆฌ ์์ ์ ๊ทผ
dict์ key๊ฐ ์์ผ๋ฉด ํด๋นํ๋ value ๋ฐํ / key๊ฐ ์์ผ๋ช default ์ถ๋ ฅ
* ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์์ ๊ธฐ ์ํด ์ฌ์ฉ
# `get()` ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ ๊ทผ (ํค๊ฐ ์์ ๋ ๊ธฐ๋ณธ๊ฐ ์ค์ ๊ฐ๋ฅ)
print(person.get('city')) # ์ถ๋ ฅ: New York
print(person.get('country')) # ์ถ๋ ฅ: None
print(person.get('country', 'USA')) # ์ถ๋ ฅ: USA
โ ์ค์ต ๋ฌธ์ 1 : ์ฌํ ์ฐ๋ฝ์ฒ ๊ด๋ฆฌ
์ผ์์ใ ํท๊ฐ๋ฆฐ๋ค.
<์ค๋ต๋ ธํธ>
โช๏ธ ๋์ ๋๋ฆฌ์ ์์ ์ถ๊ฐํ๊ธฐ
๋น ๋์ ๋๋ฆฌ๊ฐ ์ด๋ฏธ ์์ผ๋๊น, ๋ฐ๋ก ์ถ๊ฐํ๋ฉด ๋จ.
์๋ key, value๋ฅผ ์ ๋ ฅํ๋ฉด ๊ทธ๋ฅ ๋ฐ๋ก ์ถ๊ฐ ๋จ.!!
phonebook = {}
for put in range(3) :
name = input("์ด๋ฆ์ ์
๋ ฅํ์ธ์: ")
phone = input("์ ํ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์: ")
# ๋์
๋๋ฆฌ์ ์ ์ฅ (์์์ถ๊ฐ ๋ฐฉ์ ์ฌ์ฉ)
phonebook[name] = phone #์ถ๊ฐ
for key, value in phonebook.items() :
print(f"{key} : {value}")
delete = input("์ญ์ ํ ์ด๋ฆ์ ์
๋ ฅํ์ธ์: ")
phonebook.pop(delete)
print(f"{delete} ์ฐ๋ฝ์ฒ๊ฐ ์ญ์ ๋์์ต๋๋ค.")
print(f"์ต์ข
์ฐ๋ฝ์ฒ: {phonebook}")
โ ์ค์ต ๋ฌธ์ 2 : ์ํ ์ ์ ๋์ ๋๋ฆฌ ๋ถ์
scores = {"Alice":88,"Bob":95,"Charlie":70,"Dave":95,"Eve":62}
# ํ๊ท ๊ตฌํ๊ธฐ
# value๋ง ์น ๊ธ์ด์์ # ํฉ์น๊ธฐ
score_list = list(scores.values())
avg = sum(score_list) / len(score_list)
print(f"ํ๊ท ์ ์: {avg}")
# ์ ์๋ฅผ ์ฐจ๋ก๋ก ๋ถ๋ฌ์์ : for ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ
# if๋ก ์ ์ ๋ฒ์ ํ๋จ
for name, score in scores.items() :
if score >= 70 :
scores[name] = "Pass"
else :
scores[name] = "Fail"
print(scores)
ํ์ด์ฌ ๋ผ์ด๋ธ ์ธ์ 3ํ์ฐจ - ์ฐ์ต๋ฌธ์
# ๋ฌธ์ 6๋ฒ
๋ค์ ์ฝ๋์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ์ธ์.
a = [1, 2, 3]
b = a
b.append(4)
print(a)
print(b)
<์ค๋ต๋ ธํธ>
โช๏ธ ๋ด๊ฐ ์๊ฐํ ์ถ๋ ฅ๊ฐ:
a = [1, 2, 3]
b = [1, 2, 3, 4]
โช๏ธ ์ค์ ์ถ๋ ฅ๊ฐ:
a = [1, 2, 3, 4]
b = [1, 2, 3, 4]
๐ซ ์คํด ํฌ์ธํธ
- b = a โถ๏ธ ๋ฆฌ์คํธ a์ ๋ฆฌ์คํธ b๊ฐ ๊ฐ๊ฐ ์กด์ฌํ๊ฒ ๋๋ค๊ณ ์๊ฐํจ.
- b.append(4) โถ๏ธ ๋ฆฌ์คํธ b์๋ง 4๊ฐ ์ถ๊ฐ๋๋ค๊ณ ํ๋จ.
๐ก a, b๋ ๊ฐ์ ๋ฆฌ์คํธ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฒ!
โa, b์ ๋ฆฌ์คํธ๊ฐ ๊ฐ๊ฐ ์กด์ฌํ๊ฒ ํ๋ ค๋ฉด? a์ ๋ฆฌ์คํธ๋ฅผ b๋ก copy ํด์์ผ ํจ.
1๏ธโฃ ์ฌ๋ผ์ด์ฑ ๋ฐฉ๋ฒ a = [1, 2, 3] b = a[:] b.append(4) print(a) # [1, 2, 3] print(b) # [1, 2, 3, 4] 2๏ธโฃ list()๋ก ์๋ก์ด ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ b = list(a) 3๏ธโฃ copy() ๋ฉ์๋ b = a.copy()
