Filtreden önce sıralama (ARCH2076)
Anahtar python.performance.orderby-before-where · Önem warning · Kategori performance
Sıralamayı filtrelemeden önce yapmak, atılacak öğeleri de sıralayarak boşa iş yapar. Önce filtreleyip ardından kalan küçük kümeyi sıralayın.
Hatalı
Bölüm başlığı “Hatalı”def top_active(users): ordered = sorted(users, key=lambda u: u.score, reverse=True) return [u for u in ordered if u.active][:10]def top_active(users): active = [u for u in users if u.active] return sorted(active, key=lambda u: u.score, reverse=True)[:10]Düzeltme
Bölüm başlığı “Düzeltme”Önce filtreleyin, sıralamayı yalnızca kalan küçük küme üzerinde uygulayın.