Liste vs Tuple: Liste ve Tuple Arasındaki Fark
Yayınlanan: 2021-01-08Python'da liste ve demet, bir veya daha fazla nesne veya değeri depolayabilen bir veri yapısı sınıfıdır. Birden çok öğeyi tek bir değişkende saklamak için bir liste kullanılır ve köşeli parantezler kullanılarak oluşturulabilir. Benzer şekilde, tanımlama grupları da birden çok öğeyi tek bir değişkende saklayabilir ve parantezler kullanılarak bildirilebilir.
List ve Tuple arasında birçok farklılık olmasına rağmen, aşağıdaki gibi bazı benzerlikler de vardır:
- İki veri yapısının her ikisi de öğe koleksiyonlarını depolayan dizi veri türleridir.
- Herhangi bir veri türünden öğeler içlerinde saklanabilir.
- Öğelere dizinlerine göre erişilebilir.
İçindekiler
Liste vs Tuple
Aşağıdaki tablo, Python'da liste ve demet arasındaki temel farkı içerir.
Liste | demet |
değiştirilebilir | değişmez |
Yinelemelerin anlamı listede zaman alıcıdır. | Tuple'larda yinelemelerin etkileri çok daha hızlıdır. |
Ekleme ve silme gibi işlemler daha iyi yapılır. | Öğelere daha iyi erişilebilir. |
Daha fazla bellek tüketir. | Daha az bellek tüketir. |
Birçok yerleşik yöntem mevcuttur. | Birçok yerleşik yöntemi yoktur. |
Listelerde beklenmeyen hatalar ve değişiklikler kolaylıkla meydana gelebilir. | Tuple'larda beklenmeyen hatalar ve değişiklikler nadiren meydana gelir. |
Aşağıdaki bölümler, daha iyi anlaşılması için listeye karşı Tuple'ın ayrıntılı bir sürümünü sağlar.
sözdizimindeki fark
Girişte belirtildiği gibi, liste ve demet sözdizimi farklıdır. Örneğin:
liste_sayısı = [10, 20, 30, 40]
tup_num = (10, 20, 30, 40)
değişebilirlik
Liste ve demet arasındaki en önemli farklardan biri, listenin değişken, bir demetin değişmez olmasıdır. Bu, listelerin değiştirilebileceği ve demetlerin değiştirilemeyeceği anlamına gelir.
Bu nedenle, bazı işlemler listeler üzerinde çalışabilir, ancak demetler üzerinde çalışamaz. Örneğin, veri biliminde, bir liste zaten varsa, bunun belirli öğeleri yeniden atanabilir. Bununla birlikte, tüm liste yeniden atanabilir. Öğeler ve öğe dilimleri listeden silinebilir.
Öte yandan, demet üzerindeki belirli öğeler yeniden atanamaz veya silinemez, ancak onu dilimlemek ve hatta tüm demeti yeniden atamak ve silmek mümkündür. Tuple'lar değişmez oldukları için kopyalanamazlar.
Kontrol edin: Python vs Java
Operasyonlar
Hem listelere hem de demetlere benzer birçok işlem olmasına rağmen, listelerin, demetlerde bulunmayan ek işlevleri vardır. Bunlar, ekleme ve açma işlemleri ile listedeki öğeleri sıralama ve çıkarma işlemleridir.
Fonksiyonlar
Python işlevlerinden bazıları, len, max, min, any, sum, all ve sorted gibi her iki veri yapısına da uygulanabilir.
Boyut
Python'da, değişkenler değişmez olduklarından, daha düşük ek yüke sahip büyük bellek blokları tahsis edilir; listeler için ise küçük bellek blokları tahsis edilir. İkisi arasında, demetler daha küçük belleğe sahiptir. Bu, çok sayıda öğe olduğunda, demetleri listelerden daha hızlı hale getirmeye yardımcı olur.
Öğe türü
Farklı veri türlerine ait öğeler, yani heterojen öğeler genellikle demetlerde depolanır. Homojen elemanlar, aynı veri tipindeki elemanlar genellikle listelerde saklanır. Ancak bu veri yapıları için bir kısıtlama değildir. Benzer veri tipi elemanları demetlerde saklanabilir ve farklı veri tipi elemanları da listelerde saklanabilir.

Uzunluk
Uzunluklar, iki veri yapısında farklılık gösterir. Tuple'ların sabit bir uzunluğu vardır, listelerin ise değişken uzunlukları vardır. Böylece oluşturulan listelerin boyutu değiştirilebilir, ancak tuple'lar için durum böyle değildir.
hata ayıklama
Hata ayıklama söz konusu olduğunda, listelere karşı tuple'larda, değişmezliği nedeniyle tuple'ların büyük projeler için hata ayıklaması daha kolaydır. Bu nedenle, daha küçük bir proje veya daha az miktarda veri varsa, listeleri kullanmak daha iyidir. Bunun nedeni, listelerin değiştirilebilmesi, ancak demetlerin değiştirilememesi, bu nedenle demetlerin izlenmesini kolaylaştırmasıdır.
İç içe listeler ve demetler
Tuple'lar listelerde saklanabilir ve benzer şekilde listeler de tuple'ların içinde saklanabilir. Yuvalanmış demetlerde, bir demet daha fazla demet tutabilir. Ve iç içe listelerde, bir liste daha fazla liste içerebilir.
kullanır
Bu veri yapılarından birini kullanmanın daha iyi olduğu farklı durumlar olduğunu anlamak önemlidir, örneğin; birini kullanmak programcıya bağlıdır, yani verileri daha sonra değiştirmek isteyip istememelerine göre birini seçmek.
Tuple'lar, veri depolamak için anahtarsız bir sözlüğe eşdeğer olarak kullanılabilir. Tuple'lar listelerde depolandığında, verileri okumak daha kolaydır.
Okuyun: Python'da daha fazla veri yapısı türü
Çözüm
Bu makale, listeler ve demetler arasındaki farkları anlamada yardımcı olur. Her iki tür de Python'da veri yapıları olsa da, seçim yaparken bu farklılıklara aşina olmak önemlidir. Akılda tutulması gereken en önemli fark, listelerin değişken olması ve demetlerin olmaması, listelerin değişken boyutlarının ve demetlerin sabit boyutlarının olmasıdır. Son olarak, demetlerdeki işlemler daha hızlı yürütülebilir.
Bu makaleyi okuyorsanız, büyük olasılıkla bir Python geliştiricisi olma hedefiniz var. Python öğrenmekle ilgileniyorsanız ve çeşitli araçlar ve kütüphaneler konusunda ellerinizi kirletmek istiyorsanız, IIIT-B & upGrad'ın Veri Biliminde Yönetici PG Programına göz atın.
Veri depolamak için bir Python listesi ne zaman tercih edilir?
Python listesi, aşağıdaki senaryolarda verileri depolamak için en iyi veri yapısı olarak kabul edilir: Farklı veri türlerine sahip çeşitli değerleri depolamak için bir liste kullanılabilir ve bunlara yalnızca ilgili endeksleri ile erişilebilir. Elemanlar üzerinde matematiksel işlemler yapmanız gerektiğinde, elemanları doğrudan matematiksel olarak çalıştırmanıza izin verdiği için bir liste kullanılabilir. Bir liste yeniden boyutlandırılabildiğinden, saklanacak öğe sayısından emin olmadığınızda verileri depolamak için kullanılabilir.
Nametuple'ın çeşitli işlemlerini belirtin.
Python'daki adlandırılmış grup çeşitli işlemler gerçekleştirir. Aşağıda, adlandırılmış grup tarafından gerçekleştirilen en yaygın işlemlerden bazılarının bir listesi bulunmaktadır - Dizine göre erişim, Anahtar adına göre erişim, make(), _asadict(), “**” (çift yıldız) operatörü, _fileds(), _replace kullanılarak (), vb.
Liste oluşturmanın farklı yolları nelerdir?
Bir Python listesi, burada bahsedilen birçok yolla oluşturulabilir. For döngülerini kullanma - Bir for döngüsü, bir liste oluşturmanın en temel yoludur. For döngüsü kullanılarak bir liste üç basit yolla oluşturulabilir - Boş bir liste oluşturun, Eklenecek tüm öğeleri yineleyin, Append() işlevini kullanarak listedeki her öğeyi ekleyin. map() kullanımı: Python'daki map() işlevi, bir liste oluşturmak için alternatif olarak kullanılabilir. Bu işlev iki parametreyi kabul eder - İşlev: Eşlemenin her bir yinelenebilir ve yinelenebilir olarak geçtiği işlev: Eşlenecek öğe veya yinelenebilir. Liste kavrayışlarını kullanma: Bu yöntem, üç yöntemin tümü arasında en iyi duruma getirilmiş olanıdır. Yukarıdaki yöntemlerde önce boş bir liste oluşturulmak zorundayken, liste kavrayışları, tüm öğeleri tek bir satır kullanarak bir listeye eklemenize izin verir.