SORU
14 Mayıs 2010, Cuma


Python vs Listeleri Ayarlar

Python, veri yapısı, daha verimli/hızlı mı? Sipariş benim için önemli değil ve çiftleri için zaten kontrol olacağını varsayarsak, bir Python set Python bir liste daha yavaştır?

CEVAP
30 Temmuz 2013, Salı


İçinde dolaşmak olacak olan bazı değerleri saklamak istediğiniz zaman, Python'un liste yapıları biraz daha hızlı. Eğer kendi varlığı için kontrol etmek için (benzersiz) değerleri saklamak olacak olursa, ancak daha sonra Ayarlar önemli ölçüde daha hızlıdır.

Dışarı dizilerini listeler neredeyse tam olarak aynı şekilde gerçekleştirir ki, "yaratılış" (değişmez) sonra değiştirmek için yeteneği kaldırarak daha az bellek kullanımı.

Yineleme

>>> def iter_test(iterable):
...     for i in iterable:
...         pass
...
>>> from timeit import timeit
>>> timeit(
...     "iter_test(iterable)",
...     setup="from __main__ import iter_test; iterable = set(range(10000))",
...     number=100000)
12.666952133178711
>>> timeit(
...     "iter_test(iterable)",
...     setup="from __main__ import iter_test; iterable = list(range(10000))",
...     number=100000)
9.917098999023438
>>> timeit(
...     "iter_test(iterable)",
...     setup="from __main__ import iter_test; iterable = tuple(range(10000))",
...     number=100000)
9.865639209747314

Eğer bir nesnenin var olup olmadığını belirlemek

>>> def in_test(iterable):
...     for i in range(1000):
...         if i in iterable:
...             pass
...
>>> from timeit import timeit
>>> timeit(
...     "in_test(iterable)",
...     setup="from __main__ import in_test; iterable = set(range(1000))",
...     number=10000)
0.5591847896575928
>>> timeit(
...     "in_test(iterable)",
...     setup="from __main__ import in_test; iterable = list(range(1000))",
...     number=10000)
50.18339991569519
>>> timeit(
...     "in_test(iterable)",
...     setup="from __main__ import in_test; iterable = tuple(range(1000))",
...     number=10000)
51.597304821014404

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014