반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 30 | 31 |
Tags
- Javascript sort
- 자바스크립트 배열
- 자바스크립트 정렬
- node.js
- 프로그래머스 자바스크립트
- 자바스크립트 알고리즘
- JavaScript
- binary search
- 알고리즘
- 깃허브
- 프로그래머스
- python supseruser
- Python
- 정렬 알고리즘
- next.js
- 오블완
- 타입스크립트
- 자료구조
- Javascript 정렬
- python itertools
- TypeScript
- django
- admin site
- js 알고리즘
- MySQL
- django superuser
- 맨해튼거리
- 티스토리챌린지
- TS
- python 스레드
Archives
- Today
- Total
FE PARADISE
[Python] itertools 본문
반응형
itertools.zip_longest
itertools.zip_longest(*iterables, fillvalue=None)
파이썬 내장함수인 zip과 똑같이 동작하나 전달 받은 반복 가능한 객체의 길이가 서로 다를 경우 긴 객체의 길이에 맞춰서 fillvalue에 설정한 값으로 채운다.
import itertools
members = ['동화', '계훈', '이주', '동현', '민제', '주왕']
snacks = ['사탕', '초콜릿', '젤리', '치즈볼']
result = itertools.zip_longest(members, snacks, fillvalue='메가도스')
print(list(result))
다음과 같은 결과가 나온다.
[('동화', '사탕'), ('계훈', '초콜릿'), ('이주', '젤리'), ('동현', '치즈볼'), ('민제', '메가도스'), ('주왕', '메가도스')]
간식의 개수가 멤버의 수보다 적으므로 fillvalue로 설정한 '메가도스'가 부족한 항목을 대신하여 채워진다.
itertools.permutations
반복 가능한 객체 중 r개를 선택한 순열을 이터레이터로 반환한다.
itertools.permutations(iterable, r)
# permutations(range(3), 2) --> (0,1), (0,2), (1,0), (1,2), (2,0), (2,1)
다음과 같은 예시 코드로 ['1', '2', '3'] 중 숫자 2개를 선택한 순열을 구할 수 있다.
import itertools
result = list(itertools.permutations(['1', '2', '3'], 2))
print(result)
itertools.combinations
반복 가능한 객체 중 r개를 선택한 조합을 반환한다.
itertools.combinations(iterable, r)
로또 번호 1~45 중 서로 다른 숫자 6개를 뽑는 모든 경우의 수의 개수를 구하는 코드는 다음과 같다.
import itertools
it = itertools.combinations(range(1, 46), 6)
print(len(list(it))) # 8145060반응형
'백엔드 > Python' 카테고리의 다른 글
| [Django] admin site (0) | 2026.05.12 |
|---|---|
| [Django] decorator (0) | 2026.02.17 |
| [Django] reverse (0) | 2026.02.08 |
| isinstance (0) | 2026.01.25 |