理解巢狀清單理解
巢狀清單理解提供了一個強大的工具,可以以簡潔高效的方式產生複雜的數據結構。為了理解它們的行為,讓我們分解它們的結構。
一般語法:
[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)
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中文網其他相關文章!