별표 연산자가 Python에서 목록을 평면화하는 방법
Python에서는 itertools.chain 함수를 사용하여 목록 목록을 평면화할 수 있습니다. 다음 코드 조각은 이를 보여줍니다.
<code class="python">uniqueCrossTabs = list(itertools.chain(*uniqueCrossTabs))</code>
그러나 왜 별표(*)가 함수 호출에 포함되어 있는지 궁금할 것입니다.
별표 연산자 이해
별표는 Python에서 "splat" 연산자로 알려져 있습니다. 목록과 같은 반복 가능 항목을 가져와 함수 호출에서 실제 위치 인수로 확장합니다.
작동 방식
uniqueCrossTabs가 목록의 목록: [[1, 2], [3, 4]]. 별표를 사용하면 itertools.chain(*uniqueCrossTabs)은 목록을 개별 목록 인수로 확장합니다. 이는 itertools.chain([1, 2], [3, 4])를 호출하는 것과 동일합니다.
별표가 없는 경우
별표가 없는 경우 UniqueCrossTabs를 단일 인수로 전달합니다. 이 경우 chain()은 개별 요소가 아닌 목록 목록을 반복하는 반복자를 반환합니다.
chain.from_iterable() 사용
의 경우 목록을 병합하려면 itertools.chain.from_iterable()이 더 적합한 선택입니다. Iterable 중 단일 반복 가능 항목을 인수로 사용합니다. 이 방법을 사용하면 코드는 다음과 같습니다.
<code class="python">uniqueCrossTabs = list(itertools.chain.from_iterable(uniqueCrossTabs))</code>
위 내용은 별표가 Python의 `itertools.chain` 함수에서 목록을 평면화하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!