์์ด
itertools.permutations(iterable,ย r=None)
์ฒซ ๋ฒ์งธ ์ธ์์๋ iterable ๊ฐ์ฒด๊ฐ ์ค๊ณ , ๋ ๋ฒ์งธ ์ธ์ r ์ iterable ๊ฐ์ฒด ์ ์ฒด์์ ์์ด์ ๋ฝ๋ ๊ฐ์(r๊ฐ) ๋ฅผ ์ง์ ํ๋ค. r ๊ฐ์ ๋ํดํธ๋ก None ์ด๋ฉฐ, ์ด ๋๋ iterable ๊ฐ์ฒด ์ ์ฒด์์ ์์ด์ ๋๋ฆฐ๋ค.
์์ด ํํ๋ค์ ๋ฆฌํดํ๋ค.
from itertools import permutations
l = ['A', 'B', 'C']
for i in permutations(l): #r์ ์ง์ ํ์ง ์๊ฑฐ๋ r=None์ผ๋ก ํ๋ฉด ์ต๋ ๊ธธ์ด์ ์์ด์ด ๋ฆฌํด๋๋ค!
print(i) # permutations() ์ ํํ๋ค์ ๋ฆฌํดํ๋ค.
'''
์ถ๋ ฅ๊ฒฐ๊ณผ:
('A', 'B', 'C')
('A', 'C', 'B')
('B', 'A', 'C')
('B', 'C', 'A')
('C', 'A', 'B')
('C', 'B', 'A')
'''
Python
๋ณต์ฌ
items = [1, 2, 3, 4]
print(list(permutations(items, 2)))
# [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)]
Python
๋ณต์ฌ
์กฐํฉ
itertools.combinations(iterable,ย r)
์กฐํฉ์์๋ ๋ ๋ฒ์งธ ์ธ์์ธ r ์ด ํ์๋ค.
from itertools import combinations
l = [1,2,3]
for i in combinations(l,2):
print(i)
'''
์ถ๋ ฅ ๊ฒฐ๊ณผ:
(1, 2)
(1, 3)
(2, 3)
'''
Python
๋ณต์ฌ
items = [1, 2, 3, 4]
print(list(combinations(items, 2)))
# [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]
Python
๋ณต์ฌ
์ค๋ณต์์ด
itertools.product(*iterable,ย repeat=1)
์์ด, ์กฐํฉ๊ณผ๋ ๋ค๋ฅด๊ฒ, ์ฌ๋ฌ iterable ์ ์ธ์๋ก ๋ฃ์ด์ค ์ ์๊ณ , iterable ๋ค์ ์์๋ค์ ํ๋์ฉ ๋นผ์์ ์์์์ ๊ตฌ์ฑํ๋ค. (์ค๋ณต์์ด)
from itertools import product
l1 = ['A', 'B']
l2 = ['1', '2']
for i in product(l1,l2,repeat=1): #l1๊ณผ l2์์ ๊ฐ๊ฐ 1๊ฐ์ฉ์ ๋ฝ์ ์ค๋ณต์์ด ์์์
print(i)
'''
์ถ๋ ฅ๊ฒฐ๊ณผ:
('A', '1')
('A', '2')
('B', '1')
('B', '2')
'''
for i in product(l1,repeat=3): #li์์ ์ค๋ณต์ ํ์ฉํด์ 3๊ฐ์ฉ์ ๋ฝ์ ์์์
# cf. product(l1,l1,l1,repeat=1)๊ณผ ๋์ผํ ์ถ๋ ฅ
print(i)
'''
์ถ๋ ฅ๊ฒฐ๊ณผ:
('A', 'A', 'A')
('A', 'A', 'B')
('A', 'B', 'A')
('A', 'B', 'B')
('B', 'A', 'A')
('B', 'A', 'B')
('B', 'B', 'A')
('B', 'B', 'B')
'''
Python
๋ณต์ฌ
์ค๋ณต์กฐํฉ
combinations_with_replacement(iterable,r)
r ์ ํ์์ธ์์ด๋ค.
iterable ์์ ์์ ๊ฐ์๊ฐ r ๊ฐ์ธ ์ค๋ณต์กฐํฉ ํํ๋ค์ ๋ฆฌํดํ๋ค.
from itertools import combinations_with_replacement
l = ['A', 'B', 'C']
for i in combinations_with_replacement(l,2):
print(i)
'''
์ถ๋ ฅ๊ฒฐ๊ณผ:
('A', 'A')
('A', 'B')
('A', 'C')
('B', 'B')
('B', 'C')
('C', 'C')
'''
Python
๋ณต์ฌ