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]]
将一个列表按照大小为N的块进行拆分,使用yield关键字。
我们将使用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]]