यहां हमारे पास एक दी गई यूज़र इनपुट लिस्ट और एक दिया गया ब्रेक साइज़ होगा। और हमारा कार्य दिए गए आकार के अनुसार लिस्ट को तोड़ना है।
मेथड 1
यहां हम yield कीवर्ड लागू कर रहे हैं जो एक फ़ंक्शन को सक्षम बनाता है जहां उसने छोड़ा था, फिर जब इसे फिर से कॉल किया जाता है, यह नियमित फ़ंक्शन के साथ मुख्य अंतर है।
उदाहरण कोड
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)
def list_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]]
मेथड 2
लिस्ट कॉम्प्रिहेंशन का उपयोग करके हम इस समस्या को एक लाइन में हल कर सकते हैं।
उदाहरण कोड
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)
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]]