operator.itemgetter ব্যবহার করে ল্যাম্বডার চেয়ে দ্রুত ও পঠনীয়ভাবে ডিকশনারি লিস্ট সর্ট করা হয়।
উদাহরণ
from operator import itemgetter
people = [
{"name": "Will", "age": 56},
{"name": "Rob", "age": 20},
{"name": "Mark", "age": 34},
{"name": "John", "age": 24}
]
print("এইজ অনুযায়ী:")
print(sorted(people, key=itemgetter('age')))
print("এইজ ও নাম:")
print(sorted(people, key=itemgetter('age', 'name')))
print("এইজ ডিসেন্ডিং:")
print(sorted(people, key=itemgetter('age'), reverse=True))
আউটপুট
এইজ অনুযায়ী:
[{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}]
এইজ ও নাম:
[{'name': 'Rob', 'age': 20}, {'name': 'John', 'age': 24}, {'name': 'Mark', 'age': 34}, {'name': 'Will', 'age': 56}]
এইজ ডিসেন্ডিং:
[{'name': 'Will', 'age': 56}, {'name': 'Mark', 'age': 34}, {'name': 'John', 'age': 24}, {'name': 'Rob', 'age': 20}]
ব্যাখ্যা
itemgetter('age')একটি ক্যালেবল যা obj['age'] রিটার্ন করে।মাল্টি-আর্গুমেন্ট:
itemgetter('age', 'name')টাপল রিটার্ন করে।ল্যাম্বডার চেয়ে C-লেভেলে ইমপ্লিমেন্টেড হওয়ায় দ্রুত।
বড় ডেটাসেটে পারফরম্যান্স পার্থক্য ملحوظ।