首頁  >  文章  >  後端開發  >  嵌套列表推導式如何運作:解碼結構和功能?

嵌套列表推導式如何運作:解碼結構和功能?

Patricia Arquette
Patricia Arquette原創
2024-10-30 06:53:28815瀏覽

How do Nested List Comprehensions Work: Decoding the Structure and Functionality?

理解巢狀清單理解

巢狀清單理解提供了一個強大的工具,可以以簡潔高效的方式產生複雜的數據結構。為了理解它們的行為,讓我們分解它們的結構。

一般語法:

[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)
[[exp1 for x in xSet] for y in ySet]:

[(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)
以下嵌套列表理解:

產生元組列表,其中每個元組包含行列表中所有行中給定列的最小值和最大值。等效的擴展循環形式為:

  • 重點:
  • 最內層循環對應於最內層表達式 (exp1)。
  • 外部循環產生內部循環的輸入。

結果是內部表達式結果的清單。

循環的嵌套順序決定結構透過理解這種系統方法,您可以將此概念應用於各種列表理解變體。

以上是嵌套列表推導式如何運作:解碼結構和功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn