用 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]]
廣告