์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉํ ์คํธ๋ค with ํ์ด์ฌ
1. ์๋ฃํ
- ํ์ด์ฌ์ ์๋ฃํ์ C/C++, ์๋ฐ์ ๊ฐ์ ๋ค๋ฅธ ์ธ์ด์์ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ์๋ฃํ์ ์ ๊ณตํ ๋ฟ๋ง ์๋๋ผ, ์ฌ์ ์๋ฃํ, ์งํฉ ์๋ฃํ ๋ฑ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ฃํ์ ๊ธฐ๋ณธ์ผ๋ก ๋ด์ฅํ๊ณ ์์ด ๋งค์ฐ ํธ๋ฆฌํ๋ค.
์ ์๋ฃํ
- ์ฝ๋ฉํ ์คํธ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์๋ฃํ
- ์ ์๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ
1) ์ ์ํ(Integer)
- ์ ์๋ฅผ ๋ค๋ฃจ๋ ์๋ฃํ
- ์์ ์ ์, ์์ ์ ์, 0
a = 1000 # ์์ ์ ์
print(a)
a = -7 # ์์ ์ ์
print(a)
# 0
a = 0
print(a)
# ์ถ๋ ฅ
# 1000
# -7
# 0
2) ์ค์ํ
- ์์์ ์๋์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ์ ์๋ฃํ
- ํ์ด์ฌ์์๋ ๋ณ์์ ์์์ ์ ๋ถ์ธ ์๋ฅผ ๋์ ํ๋ฉด ์ค์ํ ๋ณ์๋ก ์ฒ๋ฆฌํ๋ค.
- ์์๋ถ๊ฐ 0์ด๊ฑฐ๋, ์ ์๋ถ๊ฐ 0์ธ ์์๋ 0์ ์๋ตํ๊ณ ์์ฑ ๊ฐ๋ฅ
#์์ ์ค์
a = 157.93
print(a) #157.93
#์์ ์ค์
a = -1837.2
print(a) #-1837.2
#์์๋ถ๊ฐ 0์ผ ๋ 0์ ์๋ต
a = 5.
print(a) #5.0
#์ ์๋ถ๊ฐ 0์ผ ๋ 0์ ์๋ต
a = -.7
print(a) #-0.7
์ง์ ์ง์
์ ํจ์ซ์e = ์ ํจ์ซ์ x 10
- e๋ E๋ฅผ ์ด์ฉํ ์ง์ ํํ ๋ฐฉ์
- e ๋ค์์ ์ค๋ ์๋ 10์ ์ง์๋ถ๋ฅผ ์๋ฏธํ๋ค. ex) 1e9๋ฅผ ์ ๋ ฅํ๋ฉด 10์ 9์ ๊ณฑ์ด ๋๋ค.
- ์ฝ๋ฉํ ์คํธ์์ ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฉ์
3) round(์ค์ํ ๋ฐ์ดํฐ, (๋ฐ์ฌ๋ฆผํ๊ณ ์ ํ๋ ์์น - 1))
- ์์์ ํน์ ์๋ฆฟ์์์ ๋ฐ์ฌ๋ฆผ ex) round(123.456, 2) = 123.46
4) ์ ์๋ฃํ์ ์ฐ์ฐ
- ๋๋๊ธฐ /
- ๋๋จธ์ง %
- ๋ชซ //
- ๊ฑฐ๋ญ์ ๊ณฑ **
๋ฆฌ์คํธ ์๋ฃํ
1) ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)
# ์ธ๋ฑ์ค 4, ์ฆ ๋ค์ฏ ๋ฒ์งธ ์์์ ์ ๊ทผ
print(a[4])
# ๋น ๋ฆฌ์คํธ ์ ์ธ ๋ฐฉ๋ฒ 1)
a = list()
print(a)
# ๋น ๋ฆฌ์คํธ ์ ์ธ ๋ฐฉ๋ฒ 2)
a = []
print(a)
#์ถ๋ ฅ
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 5
# []
# []
- ํฌ๊ธฐ๊ฐ N์ธ 1์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ
# ํฌ๊ธฐ๊ฐ N์ด๊ณ , ๋ชจ๋ ๊ฐ์ด 0์ธ 1์ฐจ์ ๋ฆฌ์คํธ ์ด๊ธฐํ
n = 10
a = [0] * n
print(a)
# ์ถ๋ ฅ
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
2) ๋ฆฌ์คํธ์ ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ
- ์ธ๋ฑ์ฑ(Indexing) : ์ธ๋ฑ์ค๊ฐ์ ์ ๋ ฅํ์ฌ ๋ฆฌ์คํธ์ ํน์ ํ ์์์ ์ ๊ทผํ๋ ๊ฒ
- ์ธ๋ฑ์ค๊ฐ์ ์์ ์ ์์ ์์ ์ ์๋ฅผ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ, ์์ ์ ์๋ฅผ ๋ฃ์ผ๋ฉด ๊ฑฐ๊พธ๋ก ํ์ํ๋ค
- ์ฌ๋ผ์ด์ฑ(Slicing) : ๋ฆฌ์คํธ์์ ์ฐ์์ ์ธ ์์น๋ฅผ ๊ฐ๋ ์์๋ค์ ๊ฐ์ ธ์์ผ ํ ๋ ์ด์ฉ, ๋๊ดํธ ์์ ์ฝ๋ก (:)์ ๋ฃ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ค์ ํ๋ค
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
#๋ค์์ ์ฒซ ๋ฒ์งธ ์์ ์ถ๋ ฅ
print(a[-1]) #9
#๋ ๋ฒ์งธ ์์๋ถํฐ ๋ค ๋ฒ์งธ ์์๊น์ง
print(a[1 : 4]) #[2, 3, 4]
3) ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
- ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋
- ๋๊ดํธ ์์ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ๋ฃ๋ ๋ฐฉ์์ผ๋ก ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ
#0๋ถํฐ 19๊น์ง์ ์ ์ค์์ ํ์๋ง ํฌํจํ๋ ๋ฆฌ์คํธ
array = [i for i in range(20) if i % 2 == 1]
print(array)
#์ถ๋ ฅ
#[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
- N X M ํฌ๊ธฐ์ 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ ํ ๋
n = 3
m = 4
array = [[0] * m for _ in range(n)]
print(array)
#์ถ๋ ฅ
#[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
* ์ธ๋๋ฐ(_) : ๋ฐ๋ณต์ ์ํ ๋ณ์์ ๊ฐ์ ๋ฌด์ํ๊ณ ์ ํ ๋ ์ฌ์ฉ
- ํน์ ํ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ ํ ๋๋ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ด์ฉํด์ผ ํ๋ค
4) ๋ฆฌ์คํธ ๊ด๋ จ ๊ธฐํ ๋ฉ์๋
- ๋ณ์๋ช .append() : ๋ฆฌ์คํธ์ ์์๋ฅผ ํ๋ ์ฝ์ผํ ๋ ์ฌ์ฉ
- ๋ณ์๋ช .sort() : ๊ธฐ๋ณธ ์ ๋ ฌ ๊ธฐ๋ฅ์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ
- ๋ณ์๋ช .sort(reverse=True) : ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
- ๋ณ์๋ช .reverse() : ๋ฆฌ์คํธ์ ์์์ ์์๋ฅผ ๋ชจ๋ ๋ค์ง์ด ๋๋๋ค
- ๋ณ์๋ช .insert(์ฝ์ ํ ์์น ์ธ๋ฑ์ค, ์ฝ์ผํ ๊ฐ) : ํน์ ํ ์ธ๋ฑ์ค ์์น์ ์์๋ฅผ ์ฝ์
- ๋ณ์๋ช .count(ํน์ ๊ฐ) : ๋ฆฌ์คํธ์์ ํน์ ํ ๊ฐ์ ๊ฐ์ง๋ ๋ฐ์ดํฐ์ ๊ฐ์ ์ ๋ ์ฌ์ฉ
- ๋ณ์๋ช .remove(ํน์ ๊ฐ) : ํน์ ํ ๊ฐ์ ๊ฐ๋ ์์ ์ญ์ , ๊ฐ์ ๊ฐ์ง ์์๊ฐ ์ฌ๋ฌ ๊ฐ๋ฉด ํ๋๋ง ์ ๊ฑฐ
- remove_set
a = [1, 2, 3, 4, 5, 5, 5]
remove_set = {3, 5}
#remove_set์ ํฌํจ๋์ง ์์ ๊ฐ๋ง์ ์ ์ฅ
result = [i for i in a if i not in remove_set]
print(result)
#์ถ๋ ฅ : [1, 2, 4]
๋ฌธ์์ด ์๋ฃํ
1) ๋ฌธ์์ด ์ด๊ธฐํ
- ๋ฌธ์์ด ๋ณ์๋ฅผ ์ด๊ธฐํํ ๋๋ ํฐ๋ฐ์ดํ(")๋ ์์๋ฐ์ดํ(')๋ฅผ ์ด์ฉ
- ๋ฐฑ์ฌ๋์(\)๋ฅผ ์ฌ์ฉํ๋ฉด, ํฐ๋ฐ์ดํ๋ ์์๋ฐ์ดํ๋ฅผ ๋ฌธ์์ด์ ์ํ๋ ๋งํผ ํฌํจ์ํฌ์ ์๋ค
data = 'Hello World'
print(data)
data = "Don't you know \"Python\"?"
print(data)
#์ถ๋ ฅ
#Hello World
#Don't you know "Python"?
2) ๋ฌธ์์ด ์ฐ์ฐ
- ๋ง์ (+), ๊ณฑ์ (*)์ ์ด์ฉํ๋ฉด ๋ฌธ์์ด์ด ๋ํด์ ธ์ ์ฐ๊ฒฐ๋๋ค
a = "Hello"
b = "World"
print(a + " " + b)
#์ถ๋ ฅ : Hello World
a = "String"
print(a * 3)
#์ถ๋ ฅ : StringStringString
- ์ธ๋ฑ์ฑ๊ณผ ์ฌ๋ผ์ด์ฑ๋ ์ด์ฉ ๊ฐ๋ฅ
ํํ ์๋ฃํ
- ํํ์ ํ ๋ฒ ์ ์ธ๋ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค
- ๋ฆฌ์คํธ๋ ๋๊ดํธ([])๋ฅผ ์ด์ฉํ์ง๋ง, ํํ์ ์๊ดํธ(())๋ฅผ ์ด์ฉํ๋ค
- ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ๋ ์์ฃผ ์ฌ์ฉ๋๋ค
- ๋ฆฌ์คํธ์ ๋นํด ์๋์ ์ผ๋ก ๊ณต๊ฐ ํจ์จ์ ์ด๊ณ , ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ์์์ ์ฑ์ง์ด ์๋ก ๋ค๋ฅผ ๋ ์ฃผ๋ก ์ฌ์ฉํ๋ค
- ๋ค์ต์คํธ๋ผ ์ต๋จ ๊ฒฝ๋ก ์๊ณ ๋ฆฌ์ฆ์์๋ '๋น์ฉ'๊ณผ '๋ ธ๋๋ฒํธ'๋ผ๋ ์๋ก ๋ค๋ฅธ ์ฑ์ง์ ๋ฐ์ดํฐ๋ฅผ (๋น์ฉ, ๋ ธ๋ ๋ฒํธ)์ ํํ๋ก ํจ๊ป ํํ๋ก ๋ฌถ์ด์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ๊ด๋ก์ด๋ค
์ฌ์ ์๋ฃํ
- ํค(Key)์ ๊ฐ(Value)์ ์์ ๋ฐ์ดํฐ๋ก ๊ฐ์ง๋ ์๋ฃํ
ex)
ํค(Key) | ๊ฐ(Value) |
์ฌ๊ณผ | Apple |
๋ฐ๋๋ | Banana |
์ฝ์ฝ๋ | Coconut |
- ์ฌ์ ์๋ฃํ์ ํน์ ํ ์์๊ฐ ์๋์ง ๊ฒ์ฌํ ๋๋ '์์ in ์ฌ์ '์ ํํ๋ฅผ ์ฌ์ฉํ ์ ์๋ค
data = dict()
data['์ฌ๊ณผ'] = 'Apple'
data['๋ฐ๋๋'] = 'Banana'
data['์ฝ์ฝ๋'] = 'Coconut'
if '์ฌ๊ณผ' in data:
print("'์ฌ๊ณผ'๋ฅผ ํค๋ก ๊ฐ์ง๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํฉ๋๋ค.")
#์ถ๋ ฅ : '์ฌ๊ณผ'๋ฅผ ํค๋ก ๊ฐ์ง๋ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํฉ๋๋ค.
์ฌ์ ์๋ฃํ ๊ด๋ จ ํจ์
- keys() : ํค ๋ฐ์ดํฐ๋ง ๋ฝ์์ ๋ฆฌ์คํธ๋ก ์ด์ฉ
- values() : ๊ฐ ๋ฐ์ดํฐ๋ง ๋ฝ์์ ๋ฆฌ์คํธ๋ก ์ด์ฉ
#ํค ๋ฐ์ดํฐ๋ง ๋ด์ ๋ฆฌ์คํธ
key_list = data.keys()
#๊ฐ ๋ฐ์ดํฐ๋ง ๋ด์ ๋ฆฌ์คํธ
value_list = data.values()
print(key_list)
print(value_list)
#๊ฐ ํค์ ๋ฐ๋ฅธ ๊ฐ์ ํ๋์ฉ ์ถ๋ ฅ
for key in key_list:
print(data[key])
#์ถ๋ ฅ
# dict_keys(['์ฌ๊ณผ, '๋ฐ๋๋', '์ฝ์ฝ๋'])
# dict_values(['Apple', 'Banana', 'Coconut'])
# Apple
# Banana
# Coconut
์งํฉ ์๋ฃํ
- ๋ฆฌ์คํธ ํน์ ๋ฌธ์์ด์ ์ด์ฉํด์ ๋ง๋ค ์ ์๋ค
- ์ค๋ณต ํ์ฉํ์ง ์๋๋ค
- ์์๊ฐ ์๋ค
- ํน์ ํ ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ ๋ฑ์ฅํ ์ ์ด ์๋์ง ์ฌ๋ถ๋ฅผ ์ฒดํฌํ ๋ ๋งค์ฐ ํจ๊ณผ์ ์ด๋ค
- ์ด๊ธฐํ : set() ํจ์ ์ด์ฉํ๊ฑฐ๋ ์ค๊ดํธ์์ ๊ฐ ์์๋ฅผ ์ฝค๋ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํด์ ๋ฃ์ผ๋ฉด ๋๋ค
1) ์งํฉ ์๋ฃํ์ ์ฐ์ฐ
- ํฉ์งํฉ : |
- ๊ต์งํฉ : &
- ์ฐจ์งํฉ : -
2) ์งํฉ ์๋ฃํ ๊ด๋ จ ํจ์
- add() : ํ๋์ ์งํฉ ๋ฐ์ดํฐ์ ๊ฐ์ ์ถ๊ฐ
- update() : ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ํ๊บผ๋ฒ์ ์ถ๊ฐํ๊ณ ์ ํ ๋ ์ฌ์ฉ
- remove() : ํน์ ํ ๊ฐ ์ ๊ฑฐ