14
รายการความเข้าใจกับตัวกรองแลมบ์ดา +
ฉันพบว่าตัวเองมีความจำเป็นในการกรองขั้นพื้นฐาน: ฉันมีรายการและฉันต้องกรองตามคุณลักษณะของรายการ รหัสของฉันดูเหมือนว่านี้: my_list = [x for x in my_list if x.attribute == value] แต่ฉันก็คิดว่ามันคงจะดีกว่าถ้าเขียนมันแบบนี้? my_list = filter(lambda x: x.attribute == value, my_list) สามารถอ่านได้มากขึ้นและหากจำเป็นสำหรับการแสดงแลมบ์ดาสามารถนำออกมาเพื่อรับบางสิ่งได้ คำถามคือมีคำเตือนในการใช้วิธีที่สองหรือไม่? มีความแตกต่างด้านประสิทธิภาพหรือไม่ ฉันทำ Pythonic Way ™หายไปทั้งหมดและควรทำในวิธีอื่น (เช่นใช้ itemgetter แทนที่จะเป็นแลมบ์ดา) หรือไม่?