Verimsiz üyelik testi (ARCH2075)
Anahtar python.performance.inefficient-membership-test · Önem info · Kategori performance
Bir liste üzerinde in kontrolü O(n) maliyetlidir; özellikle döngü içinde tekrarlandığında yavaştır. Aranan koleksiyonu kümeye dönüştürerek O(1) arama elde edin.
Hatalı
Bölüm başlığı “Hatalı”def filter_allowed(items, allowed): allowed = ["read", "write", "admin", "audit"] return [i for i in items if i.role in allowed]def filter_allowed(items): allowed = {"read", "write", "admin", "audit"} return [i for i in items if i.role in allowed]Düzeltme
Bölüm başlığı “Düzeltme”Tekrarlı üyelik kontrolü yapılan listeyi set olarak tanımlayın.