중첩 목록 이해하기
중첩 목록 이해는 복잡한 데이터 구조를 간결하고 효율적인 방식으로 생성하기 위한 강력한 도구를 제공합니다. 동작을 이해하기 위해 구조를 분석해 보겠습니다.
일반 구문:
[exp2([exp1 for x in xSet]) for y in ySet]
확장 루프 형식으로 변환:
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) exp2Result = exp2(innerResult) result.append(exp2Result)
단순 사례:
[exp1 for x in xSet for y in ySet]:
result = [] for x in xSet: for y in ySet: result.append(exp1)
[[exp1 for x in xSet] for y in ySet]:
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) result.append(innerResult)
예:
다음 중첩 목록 이해:
[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]
튜플 목록을 생성합니다. 여기서 각 튜플에는 행 목록의 모든 행에 걸쳐 특정 열에 대한 최소값과 최대값이 포함됩니다. . 동등한 확장 루프 형식은 다음과 같습니다.
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)
핵심 사항:
이러한 체계적인 접근 방식을 이해하면 이 개념을 광범위한 목록 이해 변형에 적용할 수 있습니다.
위 내용은 중첩된 목록 이해는 어떻게 작동합니까: 구조 및 기능 디코딩?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!