[python] collection
Categories: python
๐ ๊ฐ์ธ์ ์ธ ๊ณต๊ฐ์ผ๋ก ๊ณต๋ถ๋ฅผ ๊ธฐ๋กํ๊ณ ๋ณต์ตํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ธ๋ก๊ทธ์
๋๋ค.
์ ํํ์ง ์์ ์ ๋ณด๊ฐ ์์ ์ ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค :๐ธ
[ํ๋ฆฐ ๋ด์ฉ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ๋ณต๋ฐ์ผ์ค๊ฑฐ์์]
ํํ(Tuple)
ํ์ด์ฌ์ ๊ธฐ๋ณธ ์๋ฃํ ์ค ํ๋๋ก, ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ํ๋์ ๋ณ์์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์๊ดํธ ()
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํ๋ฉฐ, ๊ฐ ์์๋ ์ผํ ,
๋ก ๊ตฌ๋ถ
๋ฆฌ์คํธ์ ํํ์ ์ฐจ์ด
- ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ (Mutability)
- ๋ฆฌ์คํธ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ(mutable) ์ฆ, ๋ฆฌ์คํธ์ ์์๋ฅผ ์ถ๊ฐ, ์์ , ์ญ์ ํ ์ ์๋ค.
- ํํ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ(immutable) ์ฆ, ํํ์ด ์์ฑ๋ ํ์๋ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
- ์ฌ์ฉ ์ฉ๋
- ๋ฆฌ์คํธ๋ ์์์ ์ถ๊ฐ, ์ญ์ , ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉ๋๋ค.
- ํํ์ ์์๊ฐ ๊ณ ์ ๋ ๊ฒฝ์ฐ(๋ณ๊ฒฝ๋์ง ์์์ผ ํ ๋ฐ์ดํฐ)๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํจ์์ ๋ฐํ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๋ฌถ์ด์ ๋ฐํํ๊ฑฐ๋, ๊ณ ์ ๋ ์ค์ ๊ฐ์ ์ ์ฅํ ๋ ํํ์ด ์ ์ฉํ๋ค.
- ์ฑ๋ฅ
1
2
3
4
5
6
7
import sys
list_example = [1, 2, 3, 4, 5]
tuple_example = (1, 2, 3, 4, 5)
print(sys.getsizeof(list_example)) # ์ถ๋ ฅ: ๋ฆฌ์คํธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
print(sys.getsizeof(tuple_example)) # ์ถ๋ ฅ: ํํ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋
- ํํ์ ๋ฆฌ์คํธ๋ณด๋ค ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ ๊ณ , ์์ฑ ์๊ฐ์ด ๋ ๋น ๋ฆ ๋๋ค. ์ด๋ ํํ์ด ๋ถ๋ณ์ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฅํ ์ต์ ํ ๋๋ถ์ ๋๋ค.
- ๋ฐ๋ผ์, ๋ณ๊ฒฝ์ด ํ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋๋ ํํ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ ๋ฉด์์ ์ ๋ฆฌํ๋ค.
- ๋ฉ์๋
- ๋ฆฌ์คํธ๋ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด,
append()
,extend()
,insert()
,remove()
,pop()
,clear()
,sort()
,reverse()
๋ฑ์ ๋ฉ์๋๊ฐ ์๋ค. - ํํ์ ๋ถ๋ณ์ด๊ธฐ ๋๋ฌธ์ ์ ๊ณตํ๋ ๋ฉ์๋๊ฐ ์ ์ต๋๋ค. ์ฃผ์ ๋ฉ์๋๋
count()
์index()
์ ๋๋ค.
- ๋ฆฌ์คํธ๋ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด,
- ์๋ฃํ์ ๋ถ๋ณ์ฑ
- ํํ์ ๋ถ๋ณ์ด๋ฏ๋ก, ๋์ ๋๋ฆฌ์ ํค๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ฆฌ์คํธ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋์ ๋๋ฆฌ์ ํค๋ก ์ฌ์ฉํ ์ ์๋ค.
- ์ฅ๋จ์
- ๋ฆฌ์คํธ์ ์ฅ๋จ์
- ํํ์ ์ฅ๋จ์
- ๋ฆฌ์คํธ์ ํํ์ ์ ํํ๋ ๊ธฐ์ค
- ๋ณ๊ฒฝ ๊ฐ๋ฅ ์ฌ๋ถ: ์์๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๊ณ , ๋ณ๊ฒฝํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ํํ์ ์ฌ์ฉ
- ์ฑ๋ฅ ์๊ตฌ ์ฌํญ: ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ต์ํํ๊ณ ๋น ๋ฅธ ์์ฑ ์๋๊ฐ ํ์ํ ๊ฒฝ์ฐ ํํ์ ์ฌ์ฉ
- ์ฌ์ฉ ์ฉ๋: ํจ์์ ๋ฐํ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๋ฌถ์ด์ ๋ฐํํ๊ฑฐ๋, ์ค์ ๊ฐ์ ๊ณ ์ ํ์ฌ ์ ์ฅํ๋ ๊ฒฝ์ฐ ํํ์ ์ฌ์ฉ
ํํ
- ํํ ์์ฑ
-
๊ธฐ๋ณธ ์์ฑ ๋ฐฉ๋ฒ
1 2 3 4 5 6 7 8 9
# ๋น ํํ ์์ฑ empty_tuple = () # ์ฌ๋ฌ ์์๋ฅผ ํฌํจํ๋ ํํ ์์ฑ fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ") # ํํ์ ๋ค์ํ ์๋ฃํ์ ํฌํจํ ์ ์์ต๋๋ค. mixed_tuple = (1, "์๋ ", 3.14, True)
-
์์๊ฐ ํ๋์ธ ํํ ์์ฑ
1 2 3 4 5 6
single_element_tuple = (1,) not_a_tuple = (1) print(type(single_element_tuple)) # ์ถ๋ ฅ: <class 'tuple'> print(type(not_a_tuple)) # ์ถ๋ ฅ: <class 'int'>
-
ํํ ์์ฑ ์ ๊ดํธ ์๋ต
1 2 3 4
# ๊ดํธ๋ฅผ ์๋ตํ์ฌ ํํ ์์ฑ fruit_tuple = "์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ" print(fruit_tuple) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ') print(type(fruit_tuple)) # ์ถ๋ ฅ: <class 'tuple'>
-
- ํํ ์ ๊ทผ ๋ฐ ์ฌ๋ผ์ด์ฑ
- ํํ์ ์์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผ๊ฐ๋ฅ, ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค.
- ์ฌ๋ผ์ด์ฑ์ ์ฌ์ฉํ์ฌ ํํ์ ์ผ๋ถ๋ฅผ ์ถ์ถ๊ฐ๋ฅ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ") # ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ๊ทผ print(fruit_tuple[0]) # ์ถ๋ ฅ: ์ฌ๊ณผ print(fruit_tuple[1]) # ์ถ๋ ฅ: ๋ฐ๋๋ print(fruit_tuple[2]) # ์ถ๋ ฅ: ์ฒด๋ฆฌ # ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ๊ทผ print(fruit_tuple[-1]) # ์ถ๋ ฅ: ์ฒด๋ฆฌ print(fruit_tuple[-2]) # ์ถ๋ ฅ: ๋ฐ๋๋ print(fruit_tuple[-3]) # ์ถ๋ ฅ: ์ฌ๊ณผ # ์ฌ๋ผ์ด์ฑ print(fruit_tuple[0:2]) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋') print(fruit_tuple[1:]) # ์ถ๋ ฅ: ('๋ฐ๋๋', '์ฒด๋ฆฌ') print(fruit_tuple[:2]) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋') print(fruit_tuple[:]) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ')
- ํํ ์ฐ์ฐ
- ํํ์
+
์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฐํฉ(concatenate)ํ ์ ์์ผ๋ฉฐ, `` ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๋ณต(repeat)๊ฐ๋ฅ
1 2 3 4 5 6 7 8 9 10
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋") veg_tuple = ("๋น๊ทผ", "๋ธ๋ก์ฝ๋ฆฌ") # ํํ ๊ฒฐํฉ combined_tuple = fruit_tuple + veg_tuple print(combined_tuple) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋', '๋น๊ทผ', '๋ธ๋ก์ฝ๋ฆฌ') # ํํ ๋ฐ๋ณต repeated_tuple = fruit_tuple * 2 print(repeated_tuple) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋', '์ฌ๊ณผ', '๋ฐ๋๋')
- ํํ์
- ํํ์ ๋ถ๋ณ์ฑ
-
ํํ์ ํ ๋ฒ ์์ฑ๋๋ฉด ๊ทธ ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ํ์ง๋ง, ํํ ๋ด์ ๊ฐ๋ณ ๊ฐ์ฒด(์: ๋ฆฌ์คํธ)๋ ๋ณ๊ฒฝํ ์ ์๋ค.
1 2 3 4 5 6 7
# ์์ ๋ณ๊ฒฝ ์๋ (์ค๋ฅ ๋ฐ์) # fruit_tuple[0] = "์ค๋ ์ง" # TypeError: 'tuple' object does not support item assignment # ๊ฐ๋ณ ๊ฐ์ฒด๋ฅผ ํฌํจํ ํํ nested_list = ([1, 2, 3], [4, 5, 6]) nested_list[0][1] = 9 print(nested_list) # ์ถ๋ ฅ: ([1, 9, 3], [4, 5, 6])
-
- ํํ์ ๋ฉ์๋
- ํํ์ ๋ฆฌ์คํธ์ ๋ฌ๋ฆฌ ๋ช ๊ฐ์ง ๋ฉ์๋๋ง ์ ๊ณตํฉ๋๋ค. ๋ํ์ ์ผ๋ก
count()
์index()
๋ฉ์๋๊ฐ ์๋ค. -
count() : ํํ์์ ํน์ ์์์ ๊ฐ์๋ฅผ ์ผ๋ค.
1 2
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ", "์ฌ๊ณผ") print(fruit_tuple.count("์ฌ๊ณผ")) # ์ถ๋ ฅ: 2
-
index() : ํํ์์ ํน์ ์์์ ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ
1 2
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ", "์ฌ๊ณผ") print(fruit_tuple.index("๋ฐ๋๋")) # ์ถ๋ ฅ: 1
- ํํ์ ๋ฆฌ์คํธ์ ๋ฌ๋ฆฌ ๋ช ๊ฐ์ง ๋ฉ์๋๋ง ์ ๊ณตํฉ๋๋ค. ๋ํ์ ์ผ๋ก
-
ํํ ์ธํจํน
์ธํจํน์ ์ฌ์ฉํ๋ฉด ํํ์ ๊ฐ ์์๋ฅผ ๋ณ๋์ ๋ณ์์ ํ ๋นํ ์ ์๋ค.
1 2 3 4 5 6 7 8 9 10 11
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ") # ํํ ์ธํจํน apple, banana, cherry = fruit_tuple print(apple) # ์ถ๋ ฅ: ์ฌ๊ณผ print(banana) # ์ถ๋ ฅ: ๋ฐ๋๋ print(cherry) # ์ถ๋ ฅ: ์ฒด๋ฆฌ # ์ผ๋ถ ์์ ๋ฌด์ํ๊ธฐ (์ธ๋์ค์ฝ์ด ์ฌ์ฉ) _, banana, _ = fruit_tuple print(banana) # ์ถ๋ ฅ: ๋ฐ๋๋
-
์ค์ฒฉ๋ ํํ
์ค์ฒฉ๋ ํํ์ ํํ ๋ด์ ๋ ๋ค๋ฅธ ํํ์ ํฌํจํ๋ ํํ
1 2 3
# ์ค์ฒฉ๋ ํํ ์ ๊ทผ print(nested_tuple[0]) # ์ถ๋ ฅ: ('a', 'b', 'c') print(nested_tuple[1][2]) # ์ถ๋ ฅ: 3
-
ํํ๊ณผ ๋ฆฌ์คํธ ๋ณํ
ํํ์ ๋ฆฌ์คํธ๋ก, ๋ฆฌ์คํธ๋ฅผ ํํ๋ก ๋ณํ๊ฐ๋ฅ
1 2 3 4 5 6 7 8
fruit_tuple = ("์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ") fruit_list = list(fruit_tuple) print(fruit_list) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ'] # ๋ฆฌ์คํธ๋ฅผ ํํ๋ก ๋ณํ fruit_list = ["์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ"] fruit_tuple = tuple(fruit_list) print(fruit_tuple) # ์ถ๋ ฅ: ('์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ')
์์ ๋ฐ ์ค์ต ๋ฌธ์
-
๋ฌธ์ 1: ๋ ๊ฐ์ ํํ์ ํฉ์น๋ ํจ์ ์์ฑ
1 2 3 4 5 6 7
def merge_tuples(tuple1, tuple2): return tuple1 + tuple2 tuple1 = (1, 2, 3) tuple2 = (4, 5, 6) merged_tuple = merge_tuples(tuple1, tuple2) print(merged_tuple) # ์ถ๋ ฅ: (1, 2, 3, 4, 5, 6)
-
๋ฌธ์ 2: ํํ์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ๋ ํจ์ ์์ฑ
1 2 3 4 5 6 7
def find_max_min(t): return max(t), min(t) numbers = (5, 2, 9, 1, 5, 6) max_value, min_value = find_max_min(numbers) print(f"์ต๋๊ฐ: {max_value}, ์ต์๊ฐ: {min_value}") # ์ถ๋ ฅ: ์ต๋๊ฐ: 9, ์ต์๊ฐ: 1
-
๋ฌธ์ 3: ์ฃผ์ด์ง ๋ฆฌ์คํธ๋ฅผ ํํ๋ก ๋ณํํ๊ณ , ํด๋น ํํ์ ์์๋ฅผ ์ถ๋ ฅํ๋ ํจ์ ์์ฑ
1 2 3 4 5 6
def list_to_tuple(lst): return tuple(lst) lst = [10, 20, 30, 40, 50] t = list_to_tuple(lst) print(t) # ์ถ๋ ฅ: (10, 20, 30, 40, 50)
๋ฆฌ์คํธ(list)
- ํ์ด์ฌ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์๋ฃํ ์ค ํ๋๋ก, ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ํ๋์ ๋ณ์์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ด๋ค.
- ๋๊ดํธ([])๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํ๋ฉฐ, ๊ฐ ์์๋ ์ผํ๋ก ๊ตฌ๋ถํ๋ค.
- ๋ฆฌ์คํธ์ ์์๋ ๋ค์ํ ์๋ฃํ(์ ์, ๋ฌธ์์ด, ๋ค๋ฅธ ๋ฆฌ์คํธ ๋ฑ)์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ํ๋์ ๋ฆฌ์คํธ์ ๋ค์ํ ์๋ฃํ์ ํผํฉ๊ฐ๋ฅ.
๋ฆฌ์คํธ ์์ฑ
1
2
3
4
5
6
7
8
9
10
11
# ๋น ๋ฆฌ์คํธ ์์ฑ
empty_list = []
# ์ ์ํ ๋ฆฌ์คํธ ์์ฑ
numbers = [1, 2, 3, 4, 5]
# ๋ฌธ์์ด ๋ฆฌ์คํธ ์์ฑ
fruits = ["์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ"]
# ๋ค์ํ ์๋ฃํ์ ํฌํจํ๋ ๋ฆฌ์คํธ ์์ฑ
mixed_list = [1, "์๋
", True, [1, 2, 3]]
๋ฆฌ์คํธ ์ ๊ทผ ๋ฐ ์ฌ๋ผ์ด์ฑ
- ๋ฆฌ์คํธ์ ์์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผ๊ฐ๋ฅ ํ๊ณ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ค.
- ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ์ ๋์์๋ถํฐ ์์์ ์ ๊ทผํ ์๋ ์๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
fruits = ["์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ"]
# ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ๊ทผ
print(fruits[0]) # ์ถ๋ ฅ: ์ฌ๊ณผ
print(fruits[1]) # ์ถ๋ ฅ: ๋ฐ๋๋
print(fruits[2]) # ์ถ๋ ฅ: ์ฒด๋ฆฌ
# ์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ ์ ๊ทผ
print(fruits[-1]) # ์ถ๋ ฅ: ์ฒด๋ฆฌ
print(fruits[-2]) # ์ถ๋ ฅ: ๋ฐ๋๋
print(fruits[-3]) # ์ถ๋ ฅ: ์ฌ๊ณผ
# ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ
print(fruits[0:2]) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ฐ๋๋']
print(fruits[1:]) # ์ถ๋ ฅ: ['๋ฐ๋๋', '์ฒด๋ฆฌ']
print(fruits[:2]) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ฐ๋๋']
print(fruits[:]) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ฐ๋๋', '์ฒด๋ฆฌ']
๋ฆฌ์คํธ ์์ ๋ฐ ์ญ์
- ๋ฆฌ์คํธ์ ์์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์๋ค.
- append(), extend(), insert(), remove(), pop(), clear() ๋ฑ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ์์ ๊ฐ๋ฅ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
fruits = ["์ฌ๊ณผ", "๋ฐ๋๋", "์ฒด๋ฆฌ"]
# ์์ ์์
fruits[1] = "๋ธ๋ฃจ๋ฒ ๋ฆฌ"
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ธ๋ฃจ๋ฒ ๋ฆฌ', '์ฒด๋ฆฌ']
# ์์ ์ถ๊ฐ
fruits.append("์ค๋ ์ง")
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '๋ธ๋ฃจ๋ฒ ๋ฆฌ', '์ฒด๋ฆฌ', '์ค๋ ์ง']
# ์์ ์ฝ์
fruits.insert(1, "ํค์")
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', 'ํค์', '๋ธ๋ฃจ๋ฒ ๋ฆฌ', '์ฒด๋ฆฌ', '์ค๋ ์ง']
# ์์ ์ญ์
fruits.remove("๋ธ๋ฃจ๋ฒ ๋ฆฌ")
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', 'ํค์', '์ฒด๋ฆฌ', '์ค๋ ์ง']
# ๋ง์ง๋ง ์์ ์ญ์
fruits.pop()
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', 'ํค์', '์ฒด๋ฆฌ']
# ํน์ ์ธ๋ฑ์ค์ ์์ ์ญ์
fruits.pop(1)
print(fruits) # ์ถ๋ ฅ: ['์ฌ๊ณผ', '์ฒด๋ฆฌ']
# ๋ฆฌ์คํธ ์ด๊ธฐํ
fruits.clear()
print(fruits) # ์ถ๋ ฅ: []
๋ฆฌ์คํธ ๋ฉ์๋
-
์์ ์ถ๊ฐ
1 2 3 4 5 6 7 8 9
numbers = [1, 2, 3] numbers.append(4) print(numbers) # ์ถ๋ ฅ: [1, 2, 3, 4] numbers.extend([5, 6]) print(numbers) # ์ถ๋ ฅ: [1, 2, 3, 4, 5, 6] numbers.insert(3, 2.5) print(numbers) # ์ถ๋ ฅ: [1, 2, 3, 2.5, 4, 5, 6]
- append(x): ๋ฆฌ์คํธ์ ๋์ ์์ x๋ฅผ ์ถ๊ฐํ๋ค.
- extend(iterable): ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด์ ๋ชจ๋ ์์๋ฅผ ๋ฆฌ์คํธ์ ๋์ ์ถ๊ฐ ํ๋ค.
- insert(i, x): ์ธ๋ฑ์ค i์ ์์ x๋ฅผ ์ฝ์ ํ๋ค.
-
์์ ์ญ์
1 2 3 4 5 6 7 8 9
numbers = [1, 2, 3, 2, 4, 5] numbers.remove(2) print(numbers) # ์ถ๋ ฅ: [1, 3, 2, 4, 5] numbers.pop(2) print(numbers) # ์ถ๋ ฅ: [1, 3, 4, 5] numbers.clear() print(numbers) # ์ถ๋ ฅ: []
- remove(x): ๋ฆฌ์คํธ์์ ์ฒซ ๋ฒ์งธ๋ก ๋์ค๋ ์์ x๋ฅผ ์ญ์ ํ๋ค
- pop([i]): ์ธ๋ฑ์ค i์ ์๋ ์์๋ฅผ ์ญ์ ํ๊ณ ๋ฐํํฉ๋๋ค. ์ธ๋ฑ์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ๋ง์ง๋ง ์์๋ฅผ ์ญ์ ํ๊ณ ๋ฐํํ๋ค.
- clear(): ๋ฆฌ์คํธ์ ๋ชจ๋ ์์๋ฅผ ์ญ์ ํ๋ค
- ์์ ์ฐพ๊ธฐ ๋ฐ ๊ฐ์ ์ธ๊ธฐ
- index(x[, start[, end]]): ๋ฆฌ์คํธ์์ ์ฒซ ๋ฒ์งธ๋ก ๋์ค๋ ์์ x์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ค.
- count(x): ๋ฆฌ์คํธ์์ ์์ x์ ๊ฐ์๋ฅผ ์ผ๋ค.
1 2 3 4
numbers = [1, 2, 3, 2, 4, 2, 5] print(numbers.index(2)) # ์ถ๋ ฅ: 1 print(numbers.index(2, 2)) # ์ถ๋ ฅ: 3 print(numbers.count(2)) # ์ถ๋ ฅ: 3
- ๋ฆฌ์คํธ ์ ๋ ฌ
- sort(key=None, reverse=False): ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฌ
- key๋ ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ํจ์, reverse๋ ์ ๋ ฌ ์์๋ฅผ ์ง์
- reverse(): ๋ฆฌ์คํธ์ ์์ ์์๋ฅผ ๋ฐ๋๋ก ๋ค์ง๋๋ค
1 2 3 4 5 6 7 8 9
numbers = [5, 2, 9, 1, 5, 6] numbers.sort() print(numbers) # ์ถ๋ ฅ: [1, 2, 5, 5, 6, 9] numbers.sort(reverse=True) print(numbers) # ์ถ๋ ฅ: [9, 6, 5, 5, 2, 1] numbers.reverse() print(numbers) # ์ถ๋ ฅ: [1, 2, 5, 5, 6, 9]
-
๋ฆฌ์คํธ ๋ณต์ฌ
copy(): ๋ฆฌ์คํธ์ ์์ ๋ณต์ฌ๋ณธ์ ๋ง๋ ๋ค.
1 2 3
numbers = [1, 2, 3, 4, 5] numbers_copy = numbers.copy() print(numbers_copy) # ์ถ๋ ฅ: [1, 2, 3, 4, 5]
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ (List Comprehensions)
- ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ๊ธฐ์กด ๋ฆฌ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ผ๋ก ์์ฑํ๋ ๋ฐฉ๋ฒ.
- ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์ ํ ์ค๋ก ๊ฒฐํฉํ์ฌ ๋ณต์กํ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ธ๋ค.
- ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ๊ธฐ์กด์ for ๋ฃจํ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์์ด ๋ ์ฝ๊ธฐ ์ฝ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑ๊ฐ๋ฅ
-
๊ธฐ๋ณธ ํํ
1
[expression for item in iterable if condition]
expression: ๊ฐ ์์์ ๋ํด ์คํํ ํํ์
item: ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด(์: ๋ฆฌ์คํธ, ํํ, ๋ฌธ์์ด ๋ฑ)์์ ๊ฐ์ ธ์จ ์์
iterable: ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด
condition: ์ ํ ์ฌํญ์ผ๋ก, ์ด ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ์๋ง ์์๊ฐ ๋ฆฌ์คํธ์ ํฌํจ๋๋ค.
์์
-
์์ 1
1๋ถํฐ 10๊น์ง์ ์ซ์ ์ค์์ ์ง์๋ง ํฌํจ๋ ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ๋๋ค.
1 2
even_numbers = [x for x in range(1, 11) if x % 2 == 0] print(even_numbers) # ์ถ๋ ฅ: [2, 4, 6, 8, 10]
- ์ฌ๊ธฐ์ x๋ 1๋ถํฐ 10๊น์ง์ ์ซ์์ด๋ฉฐ, x % 2 == 0 ์กฐ๊ฑด์ x๊ฐ ์ง์์ธ ๊ฒฝ์ฐ์๋ง ์ฐธ์ด ๋๋ค.
-
์์ 2
1๋ถํฐ 10๊น์ง์ ์ซ์์ ์ ๊ณฑ์ ํฌํจํ ๋ฆฌ์คํธ๋ฅผ ์์ฑํฉ๋๋ค.
1 2
squares = [x**2 for x in range(1, 11)] print(squares) # ์ถ๋ ฅ: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100
- ์ฌ๊ธฐ์ x**2๋ x์ ์ ๊ณฑ์ ๊ณ์ฐํ๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก, [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] ํํ์ ๋ฆฌ์คํธ๊ฐ ์์ฑ๋จ
-
์์ 3
๋ ๋ฆฌ์คํธ์ Cartesian product ์์ฑ
1 2 3 4 5
colors = ["red", "green", "blue"] objects = ["ball", "cube"] cartesian_product = [(color, obj) for color in colors for obj in objects] print(cartesian_product) # ์ถ๋ ฅ: [('red', 'ball'), ('red', 'cube'), ('green', 'ball'), ('green', 'cube'), ('blue', 'ball'), ('blue', 'cube'
์ฌ๊ธฐ์ for color in colors์ for obj in objects๋ ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ์ ๋ํ๋ธ๋ค.
๊ฐ ์์๊ณผ ๊ฐ์ฒด์ ์กฐํฉ์ ํํ๋ก ์์ฑํ์ฌ ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
-
๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํ
์ฃผ์ด์ง ๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ฅผ ๋๋ฌธ์๋ก ๋ณํํ์ฌ ๋ฆฌ์คํธ๋ฅผ ์์ฑ
1 2 3
text = "hello" uppercase_letters = [char.upper() for char in text] print(uppercase_letters) # ์ถ๋ ฅ: ['H', 'E', 'L', 'L', 'O']
-
๋ฆฌ์คํธ์ ์์ ์ค ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ง ์ ํ
1๋ถํฐ 20๊น์ง์ ์ซ์ ์ค์์ 3์ ๋ฐฐ์๋ง ํฌํจ๋ ๋ฆฌ์คํธ๋ฅผ ์์ฑ
1 2
multiples_of_three = [x for x in range(1, 21) if x % 3 == 0] print(multiples_of_three) # ์ถ๋ ฅ: [3, 6, 9, 12, 15, 18]
์ฌ๊ธฐ์ x % 3 == 0 ์กฐ๊ฑด์ x๊ฐ 3์ ๋ฐฐ์์ธ ๊ฒฝ์ฐ์๋ง ์ฐธ
-
๋ฆฌ์คํธ์ ์์๋ฅผ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ณํ
1๋ถํฐ 10๊น์ง์ ์ซ์ ์ค์์ ์ง์๋ ์ ๊ณฑํ๊ณ , ํ์๋ ๊ทธ๋๋ก ํฌํจ๋ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ค.
1 2
numbers = [x**2 if x % 2 == 0 else x for x in range(1, 11)] print(numbers) # ์ถ๋ ฅ: [1, 4, 3, 16, 5, 36, 7, 64, 9, 100]
์ฌ๊ธฐ์ x**2 if x % 2 == 0 else x ํํ์์ x๊ฐ ์ง์์ธ ๊ฒฝ์ฐ ์ ๊ณฑ์ ๊ณ์ฐํ๊ณ , ํ์์ธ ๊ฒฝ์ฐ ๊ทธ๋๋ก x๋ฅผ ๋ฐํํ๋ค.
-
์ค์ฒฉ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
2์ฐจ์ ๋ฆฌ์คํธ์ ์์๋ฅผ ํํํ(flatten)ํ์ฌ 1์ฐจ์ ๋ฆฌ์คํธ๋ก ๋ณํํ๋ค.
1 2 3
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] flattened = [num for row in matrix for num in row] print(flattened) # ์ถ๋ ฅ: [1, 2, 3, 4, 5, 6, 7, 8, 9]
์ฌ๊ธฐ์ for row in matrix๋ 2์ฐจ์ ๋ฆฌ์คํธ์ ๊ฐ ํ์ ๋ฐ๋ณตํ๊ณ , for num in row๋ ๊ฐ ํ์ ์์๋ฅผ ๋ฐ๋ณตํ๋ค.
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฅ์
- ๊ฐ๊ฒฐ์ฑ: ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ๋ฉด ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
- ๊ฐ๋ ์ฑ: ํ ์ค๋ก ์์ฑ๋ ์ปดํ๋ฆฌํจ์ ์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ์ฝ๋๋ณด๋ค ๊ฐ๋ ์ฑ์ด ๋๋ค.
- ์ฑ๋ฅ: ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ผ๋ฐ์ ์ธ for ๋ฃจํ๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ์คํ๋ ์ ์๋ค. ์ด๋ ์ปดํ๋ฆฌํจ์ ์ด ๋ด๋ถ์ ์ผ๋ก ์ต์ ํ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฃผ์์ฌํญ
- ๊ณผ๋ํ ์ฌ์ฉ ์ง์: ๋๋ฌด ๋ณต์กํ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์คํ๋ ค ๊ฐ๋ ์ฑ์ ๋จ์ด๋จ๋ฆด ์ ์์ต๋๋ค. ๊ฐ๋จํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ๋๋ฒ๊น ์ด๋ ค์: ํ ์ค๋ก ์์ฑ๋ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ๋๋ฒ๊น ์ด ์ด๋ ค์ธ ์ ์์ผ๋ฏ๋ก ๋ณต์กํ ๋ก์ง์ ์ฌ๋ฌ ์ค๋ก ๋๋์ด ์์ฑํ๋ ๊ฒ์ด ์ข๋ค.
5. ์์ ๋ฐ ์ค์ต ๋ฌธ์
-
๋ฌธ์ 1: ๋ฆฌ์คํธ์์ ์ค๋ณต๋ ์์๋ฅผ ์ ๊ฑฐํ๋ ํจ์ ์์ฑ
1 2 3 4 5 6
def remove_duplicates(lst): return list(set(lst)) numbers = [1, 2, 3, 2, 4, 5, 3, 6] unique_numbers = remove_duplicates(numbers) print(unique_numbers) # ์ถ๋ ฅ: ์ค๋ณต์ด ์ ๊ฑฐ๋ ๋ฆฌ์คํธ
-
๋ฌธ์ 2: ๋ฆฌ์คํธ์์ ๊ฐ์ฅ ํฐ ๊ฐ๊ณผ ๊ฐ์ฅ ์์ ๊ฐ์ ์ฐพ๋ ํจ์ ์์ฑ
1 2 3 4 5 6 7
def find_max_min(lst): return max(lst), min(lst) numbers = [1, 2, 3, 4, 5] max_value, min_value = find_max_min(numbers) print(f"์ต๋๊ฐ: {max_value}, ์ต์๊ฐ: {min_value}") # ์ถ๋ ฅ: ์ต๋๊ฐ๊ณผ ์ต์๊ฐ
-
๋ฌธ์ 3: ๋ฆฌ์คํธ์ ๋ชจ๋ ์์๋ฅผ ์ ๊ณฑํ ๊ฐ์ ๊ฐ๋ ์ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ ํจ์ ์์ฑ
1 2 3 4 5 6 7 8
def square_elements(lst): return [x**2 for x in lst] numbers = [1, 2, 3, 4, 5] squared_numbers = square_elements(numbers) print(squared_numbers) # ์ถ๋ ฅ: [1, 4, 9, 16, 25]
Dictionary
java์ Map๊ณผ ๋น์ท
- ํค-๊ฐ ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์๋ฃํ
- ๋์
๋๋ฆฌ๋ ์ค๊ดํธ
{}
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ํ๋ฉฐ, ๊ฐ ํค์ ๊ฐ์ ์ฝ๋ก:
์ผ๋ก ๊ตฌ๋ถ๋๊ณ , ์์ ์ผํ,
๋ก ๊ตฌ๋ถ๋๋ค. - ๋์ ๋๋ฆฌ์ ํค๋ ๋ถ๋ณ(immutable) ์๋ฃํ์ด์ด์ผ ํ๋ฉฐ, ๊ฐ์ ์ด๋ค ์๋ฃํ๋ ๊ฐ๋ฅ
- ๋์ ๋๋ฆฌ๋ ํด์ ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋๋ฏ๋ก, ํค๋ฅผ ํตํด ๊ฐ์ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๋ค.
๋์ ๋๋ฆฌ ์์ฑ
1
2
3
4
5
6
7
8
9
10
11
12
13
# ๋น ๋์
๋๋ฆฌ ์์ฑ
empty_dict = {}
# ํค-๊ฐ ์์ ํฌํจํ ๋์
๋๋ฆฌ ์์ฑ
person = {
"name": "ํ๊ธธ๋",
"age": 27,
"city": "์์ธ"
}
# dict() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋์
๋๋ฆฌ ์์ฑ
person = dict(name="ํ๊ธธ๋", age=27, city="์์ธ")
๋์ ๋๋ฆฌ ์ ๊ทผ ๋ฐ ์์
ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ทผํ๊ณ ์์ ๊ฐ๋ฅ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
person = {"name": "ํ๊ธธ๋", "age": 27, "city": "์์ธ"}
# ํค๋ฅผ ์ฌ์ฉํ ๊ฐ ์ ๊ทผ
print(person["name"]) # ์ถ๋ ฅ: ํ๊ธธ๋
print(person["age"]) # ์ถ๋ ฅ: 27
# ๊ฐ ์์
person["age"] = 28
print(person) # ์ถ๋ ฅ: {'name': 'ํ๊ธธ๋', 'age': 28, 'city': '์์ธ'}
# ์ ํค-๊ฐ ์ ์ถ๊ฐ
person["job"] = "๊ฐ๋ฐ์"
print(person) # ์ถ๋ ฅ: {'name': 'ํ๊ธธ๋', 'age': 28, 'city': '์์ธ', 'job': '๊ฐ๋ฐ์'}
๋์ ๋๋ฆฌ ๋ฉ์๋
- ์์ ์ถ๊ฐ ๋ฐ ์
๋ฐ์ดํธ
update()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋์ ๋๋ฆฌ์ ํค-๊ฐ ์์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ์ ์๋ค.
1 2 3
person = {"name": "ํ๊ธธ๋", "age": 27} person.update({"city": "์์ธ", "job": "๊ฐ๋ฐ์"}) print(person) # ์ถ๋ ฅ: {'name': 'ํ๊ธธ๋', 'age': 27, 'city': '์์ธ', 'job': '๊ฐ๋ฐ์'}
- ์์ ์ญ์
del
ํค์๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋pop()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์๋ฅผ ์ญ์ ํ ์ ์๋ค.popitem()
๋ฉ์๋๋ ๋ง์ง๋ง ํค-๊ฐ ์์ ์ญ์ ํ๊ณ ๋ฐํํ๋ค..clear()
๋ฉ์๋๋ ๋์ ๋๋ฆฌ์ ๋ชจ๋ ์์๋ฅผ ์ญ์ ํ๋ค.
- ์์ ๊ฒ์
keys()
,values()
,items()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ๋๋ฆฌ์ ํค, ๊ฐ, ํค-๊ฐ ์์ ๋ฐํํ ์ ์๋ค.
-
์์ ์กด์ฌ ์ฌ๋ถ ํ์ธ
1 2 3 4 5 6
person = {"name": "ํ๊ธธ๋", "age": 27, "city": "์์ธ"} # ํค ์กด์ฌ ์ฌ๋ถ ํ์ธ print("name" in person) # ์ถ๋ ฅ: True print("job" in person) # ์ถ๋ ฅ: False
๋์ ๋๋ฆฌ ์ปดํ๋ฆฌํจ์ (Dictionary Comprehensions)
- ๊ธฐ์กด์ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ๊ณผ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๋์ ๋๋ฆฌ๋ฅผ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ผ๋ก ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์ ๊ฒฐํฉํ์ฌ ์๋ก์ด ๋์ ๋๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค
- ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ํ ์ค์ ์ฝ๋๋ก ๋ณต์กํ ๋์
๋๋ฆฌ๋ฅผ ์์ฑํ ์ ์์ด ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ธ๋ค.
- ๊ธฐ๋ณธ ํํ
1
{ํค_ํํ์: ๊ฐ_ํํ์ for ์์ดํ in ๋ฐ๋ณต๊ฐ๋ฅ๊ฐ์ฒด if ์กฐ๊ฑด}
- ํค_ํํ์: ๋์ ๋๋ฆฌ์ ํค๋ฅผ ์์ฑํ๋ ํํ์
- ๊ฐ_ํํ์: ๋์ ๋๋ฆฌ์ ๊ฐ์ ์์ฑํ๋ ํํ์
- ์์ดํ : ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฐ์ฒด(์: ๋ฆฌ์คํธ, ํํ, ๋ฌธ์์ด ๋ฑ)์์ ๊ฐ์ ธ์จ ์์
- ์กฐ๊ฑด: ์ ํ ์ฌํญ์ผ๋ก, ์ด ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ์๋ง ์์ดํ
์ด ๋์
๋๋ฆฌ์ ํฌํจ๋๋ค.
- ์์
1 2 3 4
text = "hello world" frequency = {char: text.count(char) for char in set(text)} print(frequency) # ์ถ๋ ฅ: {'d': 1, 'h': 1, 'e': 1, 'o': 2, 'l': 3, 'r': 1, ' ': 1, 'w': 1}
set(text)
๋ ๋ฌธ์์ดtext
์์ ์ค๋ณต๋ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ์ฌ ์ ์ผํ ๋ฌธ์๋ง์ ํฌํจํ๋ ์งํฉ์ ๋ง๋ ๋ค.text.count(char)
๋ ๋ฌธ์์ดtext
์์ ๋ฌธ์char
์ ๋น๋์๋ฅผ ๊ณ์ฐ- ๊ฒฐ๊ณผ์ ์ผ๋ก, ๊ฐ ๋ฌธ์์ ๋น๋์๋ฅผ ๋ํ๋ด๋ ๋์ ๋๋ฆฌ๊ฐ ์์ฑ๋๋ค.
Leave a comment