用 Python 將列表分解成大小為 N 的區塊


在此示例中,我們將瞭解如何將列表拆分為大小為 N 的塊。我們將在此處使用 list() 函式。list() 函式建立列表物件。列表物件是有序且可變的集合。

使用列表推導將列表拆分為大小為 N 的塊

列表推導可用於將列表拆分為大小為 N 的塊:

示例

A = list() # User input for list size n = int(input("Enter the size of the List")) # User input for number print("Enter the number") for i in range(int(n)): p=int(input("Size=")) A.append(int(p)) print (A) n=int(input("Enter Chunk Size")) my_final = [A[i * n:(i + 1) * n] for i in range((len(A) + n - 1) // n )] print ("List of chunks:",my_final)

輸出

Enter the size of the List 6
Enter the number
Size= 23
[23]
Size= 34
[23, 34]
Size= 12
[23, 34, 12]
Size= 56
[23, 34, 12, 56]
Size= 33
[23, 34, 12, 56, 33]
Size= 22
[23, 34, 12, 56, 33, 22]
Enter Chunk Size 3
List of chunks: [[23, 34, 12], [56, 33, 22]]

使用 yield 關鍵字將列表拆分為大小為 N 的塊

我們將使用 yield 關鍵字將列表拆分為大小為 N 的塊:

示例

A = list() n = int(input("Enter the size of the List")) print("Enter the number") for i in range(int(n)): p=int(input("Size=")) A.append(int(p)) print (A) deflist_chunks(l, n): for i in range(0, len(l), n): yield l[i:i + n] n = int(input("Enter Chunk Size")) my_list = list(list_chunks(A, n)) print ("List of Chunks",my_list)

輸出

Enter the size of the List 6
Enter the number
Size= 12
[12]
Size= 33
[12, 33]
Size= 11
[12, 33, 11]
Size= 56
[12, 33, 11, 56]
Size= 44
[12, 33, 11, 56, 44]
Size= 89
[12, 33, 11, 56, 44, 89]
Enter Chunk Size 3
List of Chunks [[12, 33, 11], [56, 44, 89]]

更新時間: 2022-08-12

465 次瀏覽

開啟你的 事業

透過完成課程來獲得認證

入門
廣告