itertools 라이브러리

JIYOUNG KIM·2022년 4월 29일
0

python

목록 보기
2/2
post-thumbnail

combinations

  • 조합
  • 한 리스트에 중복을 허용하지 않고 모든 경우의 수 구하는 것
  • r 개의 데이터를 뽑아 순서를 고려하지 않고 나열하는 모든 경우의 수
data = ['사과', '배', '귤']

list(combinations(data, 2))

# [('사과', '배'), ('사과', '귤'), ('배', '귤')]

permutations

  • 순열
  • 한 리스트에서 중복을 허용하고 모든 경우의 수를 구하는 것
  • r 개의 데이터를 뽑아 일렬로 나열하는 모든 경우의 수
data = ['사과', '배', '귤']

list(permutations(data, 3))

# [('사과', '배', '귤'), ('사과', '귤', '배'), ('배', '사과', '귤'), ('배', '귤', '사과'), ('귤', '사과', '배'), ('귤', '배', '사과')]

product

  • 데카르트의 곱
  • DB의 join
  • 두 개 이상의 리스트의 모든 조합을 구할 때 → 중복 순열
data = ['사과', '배', '귤']

list(product(data, repeat=2))

# [('사과', '사과'), ('사과', '배'), ('사과', '귤'), ('배', '사과'), ('배', '배'), ('배', '귤'), ('귤', '사과'), ('귤', '배'), ('귤', '귤')]
profile
데이터분석가

0개의 댓글