用於分塊清單的Zip:了解zip([iter(s)]n)
The🎜>n)
The🎜>The zip() function 是Python 中的一個強大工具,它將多個可迭代物件中的元素組合成元組清單。它的用途擴展到各種應用程序,包括將列表分割成大小相等的區塊。表達式 zip([iter(s)]
n) 是實現此目的的簡潔方法。星號(或splat)運算子將迭代器列表解包為單獨的參數zip().
因此,使用n 個迭代器呼叫zip(),每個迭代器代表相同的列表。這會導致 zip() 從每個迭代器中提取一個元素,建立一個元組。這個過程一直持續到所有迭代器都用完為止,產生一個元組列表。
為了說明這一點,讓我們考慮一個列表 s = [1,2,3,4,5,6,7,8 ,9] 且 n = 3。表達式zip([iter(s)]
n) 將產生[(1,2,3),(4,5,6),(7,8,9)].x = iter(s) y = iter(s) z = iter(s) chunked_list = list(zip(x, y, z))
如果我們將表達式擴展為更詳細的程式碼,它將如下所示:
此程式碼產生與簡潔表達式zip([iter(s)]n) 相同的結果。本質上,iter() 建立一個迭代器,[iter(s)]*n 產生多個視圖到同一個列表中,splat 運算子解壓縮迭代器,使zip() 能夠將每個視圖中的元素組合成元組。以上是Python 中 `zip([iter(s)]*n)` 如何對列表進行分塊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!