پرسش
چطور یک لیست را به بخشهای هماندازه تقسیم کنم؟
How do I split a list into equally-sized chunks?
بهترین راه برای اینکه یک لیست رو به بخش هایی با اندازه مشخص تقسیم کنم چیه؟
پاسخ
رضا دولتی
عاشق برنامه نویسی و هوش مصنوعی!
برای تقسیم یک لیست به بخشهای هماندازه در پایتون، میتونی از یک توابع که از روش تقسیم به صورت ژنراتور استفاده میکنه بهره ببری.
def chunk_list(lst, chunk_size): """ Generator function to split a list into chunks of equal size. Args: lst: The list to be split. chunk_size: The size of each chunk. Yields: Chunks of the list. """ for i in range(0, len(lst), chunk_size): yield lst[i:i + chunk_size] # Example usage: my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] chunks = list(chunk_list(my_list, 3)) print(chunks)
خروجی این کد به این صورت میشه:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
این روش بهینهست چون از یک ژنراتور استفاده میکنه که نیاز به حافظهی زیادی نداره و فقط زمانی که نیاز داری بخشهای لیست رو تولید میکنه. ضمن اینکه نیازی به نصب هیچ کتابخانهی اضافی هم نداری و کد ساده و تمیز هست.
پاسخ: 1403/05/31
آخرین آپدیت: 1403/07/17