ডাটা অ্যানালিটিক্স জটিল পরিস্থিতিতে ফেলে যেখানে ডাটাকে ঘুরিয়ে ঘুরিয়ে নিয়ে যেতে হয়। এই প্রসঙ্গে আসুন দেখি কিভাবে আমরা একটি বড় তালিকা নিতে পারি এবং প্রয়োজন অনুসারে এটিকে অনেকগুলি সাবলিস্টে বিভক্ত করতে পারি। এই নিবন্ধে আমরা এটি অর্জনের পদ্ধতিগুলি অন্বেষণ করব৷
৷জিপ সহ এবং লুপের জন্য
এই পদ্ধতিতে আমরা তালিকা ডাইসিং ব্যবহার করি বিন্দু থেকে উপাদানগুলি পেতে যেখানে বিভাজন ঘটতে হবে। তারপরে আমরা একটি ফর লুপ ব্যবহার করে সাবলিস্ট তৈরি করতে জিপ এবং ফর লুপ ব্যবহার করি।
উদাহরণ
Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] # The indexes to split at split_points = [2, 5, 8] # Given list print("Given list : " + str(Alist)) # SPlit at print("The points of splitting : ",split_points) #Perform the split split_list = [Alist[i: j] for i, j in zip([0] + split_points, split_points + [None])] # printing result print("The split lists are : ", split_list)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] The points of splitting : [2, 5, 8] The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]
চেইন এবং জিপ ব্যবহার করা
চেইন ফাংশনটি একটি পুনরাবৃত্তিকারী তৈরি করে যা এটি শেষ না হওয়া পর্যন্ত উপাদানগুলিকে প্রথম পুনরাবৃত্তিযোগ্য থেকে ফিরিয়ে দেয়। সুতরাং এটি পয়েন্টগুলি চিহ্নিত করে যেখানে বিভাজন ঘটে। তারপরে আমরা সাবলিস্টে বিভক্ত হওয়ার ফলাফল প্যাকেজ করতে জিপ ফাংশন ব্যবহার করি।
উদাহরণ
from itertools import chain Alist = ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] # The indexes to split at split_points = [2, 5, 8] # Given list print("Given list : ", str(Alist)) # Split at print("The points of splitting : ",split_points) # to perform custom list split sublists = zip(chain([0], split_points), chain(split_points, [None])) split_list = list(Alist[i : j] for i, j in sublists) # printing result print("The split lists are : ", split_list)
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
Given list : ['Mon', 'Tue', 'Wed', 6, 7, 'Thu', 'Fri', 11, 21, 4] The points of splitting : [2, 5, 8] The split lists are : [['Mon', 'Tue'], ['Wed', 6, 7], ['Thu', 'Fri', 11], [21, 4]]