দুটি লিস্ট বিবেচনা করুন। দ্বিতীয় লিস্টের 엘িমেন্টগুলো সংখ্যা যা প্রথম লিস্টের ইন্ডেক্স পজিশন হিসেবে কাজ করবে। নিচে সেটি করার পাইথন প্রোগ্রামগুলো দেওয়া হলো।
map এবং __getitem__ ব্যবহার করে
__getitem__ ম্যাজিক মেথড লিস্ট আইটেম অ্যাক্সেস করতে ব্যবহৃত হয়। map ফাংশনের সাথে এটি ব্যবহার করে দ্বিতীয় লিস্টের ইন্ডেক্স অনুযায়ী প্রথম লিস্ট থেকে এলিমেন্ট বের করা হয়।
উদাহরণ
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1, 3]
print("Given list A:", listA)
print("Given list B:", listB)
res = list(map(listA.__getitem__, listB))
print("Result :", res)
আউটপুট
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']
itemgetter ফাংশন ব্যবহার করে
operator মডিউলের itemgetter মেথড এই কাজে ব্যবহার করা যায়। দ্বিতীয় লিস্টকে ইন্ডেক্স হিসেবে এক্সপ্যান্ড করে itemgetter ফাংশন প্রয়োগ করা হয়।
উদাহরণ
from operator import itemgetter
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1, 3]
print("Given list A:", listA)
print("Given list B:", listB)
res = list(itemgetter(*listB)(listA))
print("Result :", res)
আউটপুট
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']
numpy লাইব্রেরি ব্যবহার করে
numpy লাইব্রেরি দিয়ে দুটি লিস্ট ইনপুট হিসেবে নিয়ে অ্যারে তৈরি করে এই কাজ করা যায়। ফলাফল আবার লিস্টে কনভার্ট করা হয়।
উদাহরণ
import numpy as np
listA = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
listB = [0, 1, 3]
print("Given list A:", listA)
print("Given list B:", listB)
res = list(np.array(listA)[listB])
print("Result :", res)
আউটপুট
Given list A: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] Given list B: [0, 1, 3] Result : ['Mon', 'Tue', 'Thu']