මට මූලික පෙරීමේ අවශ්යතාවයක් ඇති බව මට පෙනී ගියේය: මට ලැයිස්තුවක් ඇති අතර අයිතමවල ගුණාංගයකින් එය පෙරීමට මට සිදුවේ.
මගේ කේතය මේ වගේ විය:
my_list = [x for x in my_list if x.attribute == value]
ඒත් එක්කම මම හිතුවා, මේ වගේ ලිවීම හොඳ නැද්ද?
my_list = filter(lambda x: x.attribute == value, my_list)
එය වඩාත් කියවිය හැකි අතර, කාර්ය සාධනය සඳහා අවශ්ය නම් යමක් ලබා ගැනීම සඳහා ලැම්බඩා පිටතට ගෙන යා හැකිය.
ප්රශ්නය: දෙවන ක්රමය භාවිතා කිරීමේදී යම්කිසි අවවාද තිබේද? කාර්ය සාධන වෙනසක් තිබේද? මට පයිතොනික් මාර්ගය මුළුමනින්ම මග හැරී ඇති අතර එය වෙනත් ආකාරයකින් කළ යුතුද (ලැම්බඩා වෙනුවට අයිතමය භාවිතා කිරීම වැනි)?
filter
එය කියවිය හැකි යැයි බොහෝ අය එකඟ වනු ඇතැයි මම සිතමි . ඔබට ලැයිස්තුවක් තුළ ඇති ආකාරයට භාවිතා කළ හැකි සරල ප්රකාශනයක් ඇති නමුත් එය පසුකර යාමට ලැම්බඩයකින් ඔතා තිබිය යුතුය (හෝ ඒ හා සමානව ඉදිකරන ලදpartial
හෝoperator
ක්රියාකාරකම් ආදිය)filter
, එවිට ලැයිස්තුගත කිරීම් ජයග්රහණය වේ.