सूची को समान आकार के टुकड़ों में विभाजित करने का सबसे आसान तरीका स्लाइस ऑपरेटर का लगातार उपयोग करना और प्रारंभिक और अंतिम स्थिति को एक निश्चित संख्या से शिफ्ट करना है।
निम्नलिखित उदाहरण में, 12 एलिमेंट्स वाली एक सूची मौजूद है। हम इसे 4-4 की लंबाई की 3 सूचियों में विभाजित करते हैं:
l = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120] chunk_size = 4 chunks = [l[i:i + chunk_size] for i in range(0, len(l), chunk_size)] print(chunks) # [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]]
अन्य तरीके
itertools.islice का उपयोग
import itertools
def chunked(iterable, size):
it = iter(iterable)
while True:
chunk = list(itertools.islice(it, size))
if not chunk:
break
yield chunk
print(list(chunked(l, 4)))
numpy का उपयोग (बड़े डेटा के लिए)
import numpy as np arr = np.array(l) chunks = np.array_split(arr, len(arr) // 4) print([c.tolist() for c in chunks])