পাইথনে একটি লিস্টের ভেতরেও লিস্ট থাকতে পারে। এই নেস্টেড লিস্টগুলাকে সাবলিস্ট বলা হয়। এই আর্টিকেলে আমরা একটি দেওয়া লিস্টের প্রতিটি সাবলিস্ট থেকে শুধুমাত্র শেষ উপাদান বের করার চ্যালেঞ্জ সমাধান করব।
for লুপ ব্যবহার করে
এটি একটি খুব সহজ পদ্ধতি যেখানে আমরা সাবলিস্টগুলোতে লুপ চালিয়ে তাদের ইনডেক্স -1-এ থাকা আইটেম বের করি।
উদাহরণ
Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("Last Items from sublists:\n")
for item in Alist:
print((item[-1]))
আউটপুট
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] Last Items from sublists: 1 Fri 7
zip এবং * ব্যবহার করে
* আমাদের সাবলিস্টগুলোকে আনপ্যাক করে দেয় এবং সাবলিস্টের প্রতিটি উপাদানে অ্যাক্সেস দেয়। এই ক্ষেত্রে আমরা * এবং রিভার্সড লিস্ট ব্যবহার করে প্রতিটি উপাদানের ইনডেক্স 0-এ অ্যাক্সেস করব। তারপর ফলাফলকে জিপ করে সাবলিস্টগুলোর প্রথম উপাদানগুলো থেকে একটি লিস্ট পাব।
উদাহরণ
Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(list(zip(*map(reversed,Alist)))[0]))
আউটপুট
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] First Items from sublists: [1, 'Fri', 7]
itemgetter ব্যবহার করে
itemgetter(i) একটি কলেবল তৈরি করে যা একটি ইটারেবল অবজেক্ট (ডিকশনারি, লিস্ট, টাপল ইত্যাদি) ইনপুট হিসেবে নেয় এবং সেটা থেকে i-তম উপাদান বের করে দেয়। তাই আমরা এই মেথডটি ব্যবহার করে ম্যাপ ফাংশন দিয়ে লিস্টের প্রথম আইটেমগুলো পেতে পারি।
উদাহরণ
from operator import itemgetter
Alist = [['Mon', 1], ['Tue', 'Wed', "Fri"], [12,3,7]]
print("Given List:\n",Alist)
print("\n First Items from sublists:\n")
print(list(map(itemgetter(-1), Alist)))
আউটপুট
Given List: [['Mon', 1], ['Tue', 'Wed', 'Fri'], [12, 3, 7]] First Items from sublists: [1, 'Fri', 7]