SORU
9 Mart 2009, PAZARTESİ


'listesi arasındaki fark ne ve dizilerini?

Ne fark eder?

Avantajları dizilerini / listeler dezavantajları nelerdir?

CEVAP
9 Mart 2009, PAZARTESİ


Dizilerini değişmez olmasının yanı sıra ayrıca onların Kullanım Kılavuzu gereken anlamsal bir ayrım vardır. Dizilerini listeler homojen dizileri ise heterojen veri yapıları (yani, onların girişleri farklı anlamları var).Dizilerini yapıya sahip, sipariş listeleri var.

Bu ayrım kullanarak kodu daha açık ve anlaşılır hale getirmiştir.

Örnek bir sayfa herhangi bir kitap, Örneğin line başvuru yerleri numarası:

my_location = (42, 11)  # page number, line number

Sonra bir sözlükte bir anahtar konumları ile ilgili notlar saklamak için kullanabilirsiniz. Öte yandan bir liste birden fazla yerde depolamak için kullanılabilir. Doğal olarak listeler değiştirilebilir mantıklı bu yüzden veya listeden konumları eklemek veya kaldırmak için tercih nedeni olabilir. Öte yandan muhtemelen satır numarası korurken anlamda Konum bir demet içinde sayfa numarasını değiştirmek için yapmaz - bu tamamen yeni bir konum verir. Öte yandan, çok mantıklı sadece satır numarası (tüm kayıt düzeni değiştirmeden) doğru yapan durumlar olabilir.

Bu konuda, "Python Tuples are Not Just Constant Lists" örneğin "Understanding tuples vs. lists in Python" Bazı ilginç makaleler var. Resmi Python belgelerine also mentions this ("Dizilerini değişmez, ve genellikle heterojen bir dizi içerir ...").

Statik olarak yazılan bir dil gibiHaskellbir demet değerleri genelde farklı türleri vardır ve demet süresi belli olmalıdır. Bir listedeki bütün değerler aynı tip ve uzunluğu sabit değildir. Fark çok bariz.

Sonunda bir demet zaten yapıya sahip olması gerekiyordu çünkü mantıklı olan Python, namedtuple. Bu dizilerini sınıfları ve örnekleri için hafif bir alternatif olduğunu vurgulamaktadır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • The Brister

    The Brister

    10 ŞUBAT 2008