CS Repository/기초 강화학습 12

python 애스터리스크(*) - 언패킹의 역할과 예제

파이썬에는 애스터리스크가 포인터도 아닌 것이 특이한 일을 하고 있어, 이 코드를 처음 보면 당황하기 부지기수이다.파이썬의 애스터리스크 기호의 사용법에 대해 자세히 알아보자.대입 언패킹함수 호출 시 언패킹리터럴 내부 언패킹대입 언패킹 (Extended Iterable Unpacking, PEP 3132)오른쪽 이터러블을 왼쪽 변수들에 “펼쳐” 넣는다.*가 붙은 변수는 나머지 전부를 리스트로 받는다.*는 각 패턴 레벨에서 최대 1개만 허용된다.a, *rest = [10, 20, 30]*head, b = (1, 2, 3, 4)x, *mid, y = range(5) * 변수는 항상 리스트가 된다.(튜플 아님).최소 길이만 맞으면 남는 요소가 0개여도 동작한다(그 경우 빈 리스트 ([])가 됨).a, *res..

Python - zip의 역할과 예제

파이썬의 zip()은 여러 이터러블(리스트, 튜플, range 등)을 같은 인덱스끼리 묶어 튜플들의 이터레이터를 만든다.핵심 특징게으른 이터레이터결과를 한꺼번에 만들지 않고 필요할 때마다 생성함 → 메모리 절약.가장 짧은 길이 기준으로 끝남.개수 제한 없음zip(a, b, c, ...)처럼 여러 개를 동시에 묶을 수 있음.언패킹으로 ‘되돌리기’zip(*pairs)로 다시 열 단위로 분리함.길이 검사 옵션zip(a, b, strict=True)로 길이가 다르면 ValueError 발생(PEP 618, Python 3.10+).예제 모음1) 기본 사용nums = [1, 2, 3]chars = ['a', 'b', 'c']pairs = list(zip(nums, chars))2) 병렬 반복a = [10, 20,..