중첩 목록 이해하기
중첩 목록 이해는 복잡한 데이터 구조를 쉽게 만들 수 있게 해주는 Python의 강력한 기능입니다. 작동 방식을 이해하기 위해 단순화된 버전을 살펴보겠습니다.
<code class="python">[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]</code>
이 표현식은 다음 for 루프와 동일합니다.
<code class="python">result=[] for i in range(len(rows[0])): innerResult=[] for row in rows: innerResult.append(row[i]) innerResult2=[] for row in rows: innerResult2.append(row[i]) tuple=(min(innerResult), max(innerResult2)) result.append(tuple)</code>
중첩 목록 이해의 핵심은 중첩입니다. for 루프의. 외부 루프는 행[0]의 요소를 반복하고, 내부 루프는 행의 행을 반복합니다.
위 표현식에서 첫 번째 for 루프는 목록의 외부 구조를 생성하는 역할을 합니다. 각 반복마다 새 튜플이 생성됩니다. 한편, 두 번째 for 루프는 튜플의 내부 구조를 생성합니다. 행의 각 행에 대해 인덱스 i의 요소를 추출하여 내부 결과 목록에 추가합니다.
이 개념을 일반화하려면 형식의 모든 중첩 목록 이해
<code class="python">[exp2([exp1 for x in xSet]) for y in ySet]</code>
할 수 있습니다. for 루프 구조로 변환됩니다.
<code class="python">result=[] for y in ySet: innerResult =[] for x in xSet: innerResult.append(exp1) exp2Result = exp2(innerResult) result.append(exp2Result)</code>
간단한 경우에는 동등성이 간단합니다.
위 내용은 중첩 목록 이해는 Python에서 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!