SORU
4 ŞUBAT 2009, ÇARŞAMBA


Python: tablo aramak için vs Dict Listesi

Masa aramak bir tür koymak istiyorum 10million değerleri var, daha verimli olur merak ediyorum . ben^>listeya . ben^>dict?

Hem de böyle bir şey yapabileceğini biliyorum:

if something in dict_of_stuff:
    pass

ve

if something in list_of_stuff:
    pass

Benim düşünce dict daha hızlı ve daha verimli olacaktır.

Yardımlarınız için teşekkürler.

1 DÜZENLEYİN
Küçük yapmaya çalışıyorum ne hakkında daha fazla bilgi. Euler Problem 92. Tablo gibi, Eğer bir değer hesaplanan tüm hazır hesaplanmıştır görmek için yapıyorum.

2 DÜZENLEYİN
Aramak için verimlilik.

3 DÜZENLEMEK
Değerler Değer assosiated yok . o yüzden. ben^>ayarlayındaha mı iyi olur?

CEVAP
4 ŞUBAT 2009, ÇARŞAMBA


Hız

Listelerde arama O(n), sözlüklerde arama O(1), veri yapısı öğelerin sayısı ile ilgili itfa edilmektedir. Eğer ilişkilendirmek değerlere ihtiyacınız varsa, ayarlar kullanın.

Bellek

Hem sözlükler ve kümeler karma kullanım ve nesne depolama için çok daha fazla bellek kullanırlar. A. M. Kuchling göreGüzel Koduygulama karma 2/3 tam tutmaya çalışır , bu yüzden oldukça uzun bir hafıza atık olabilir.

Eğer sinek, güncelleştirilmiş sorunuza göre yapmak () yeni giriş eklemek yaparsanız, liste sıralama ve ikili arama kullanmak faydalı olabilir. Bu(günlük n), ve dizeleri, bir doğal olmayan nesneleri sipariş için imkansız için daha yavaş olması muhtemeldir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008