কিছু সমস্যায় লিস্টের প্রতিটি এলিমেন্টের ন্যূনতম বের করতে হয়। কিন্তু ম্যাট্রিক্স অপারেশন সমাধান করতে হলে ম্যাট্রিক্সের প্রতিটি কলামের ন্যূনতম বের করতে হয়। এতে লিস্ট অফ লিস্ট থেকে ন্যূনতম মান বের করতে হয়। কারণ ম্যাট্রিক্সের প্রতিটি কলাম একটি লিস্ট অফ লিস্ট।
min() এবং zip() ব্যবহার করে
নিচের উদাহরণে আমরা min() এবং zip() ব্যবহার করেছি। এখানে zip() ফাংশন একাধিক লিস্টের একই ইন্ডেক্সের এলিমেন্টগুলোকে একটি সিঙ্গেল লিস্টে অর্গানাইজ করে। তারপর for লুপ ব্যবহার করে zip ফাংশনের রেজাল্টে min() ফাংশন অ্যাপ্লাই করা হয়।
উদাহরণ
List = [[90, 5, 46], [71, 33, 2], [9, 13, 70]]
print("List : " + str(List))
# min() + zip() ব্যবহার
result = [min(index) for index in zip(*List)]
print("minimum of each index in List : " + str(result))
উপরোক্ত কোড চালালে নিচের ফলাফল পাওয়া যাবে:
List : [[90, 5, 46], [71, 33, 2], [9, 13, 70]] minimum of each index in List : [9, 5, 2]
map(), min() এবং zip() ব্যবহার করে
আমরা উপরের পদ্ধতির মতো map() এবং zip() একসাথে ব্যবহার করতে পারি। এখানে zip()-এর রেজাল্টে min() অ্যাপ্লাই করা হয়। for লুপের বদলে map() ব্যবহার করা হয়।
উদাহরণ
List = [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]]
print("The list values are: " + str(List))
# min() + map() + zip() ব্যবহার
result = list(map(min, zip(*List)))
# result
print("Minimum of each index in list of lists is : " + str(result))
উপরোক্ত কোড চালালে নিচের ফলাফল পাওয়া যাবে:
The list values are: [[0.5, 2.4, 7], [5.5, 1.9, 3.2], [8, 9.9, 10]] Minimum of each index in list of lists is : [0.5, 1.9, 3.2]