Python Dizisi ve Liste: Farklar ve Kullanım Durumları
Yayınlanan: 2021-11-03Python, son yıllarda Veri Biliminde diğer dillere göre üstünlük kazanmıştır ve veri yapıları hayati bir rol oynamaktadır. Python, bugün tartışacağımız dizi ve listenin en popüler olduğu geniş bir veri yapıları kümesine sahiptir.
Diziler ve Listeler, Python'da birçok yönden benzer olan iki önemli veri yapısıdır. Her ikisi de verileri depolamak için kullanılabilir ve bunlar üzerinde yineleme yapmamızı, dilimlememizi ve hatta indeksleme yöntemini kullanarak öğelerine erişmemizi sağlar. O zaman Python'da liste ve dizi arasındaki fark nedir? Peki, bu makalede tartışacağımız şey bu.
İçindekiler
Python'da diziler
Bir dizi, homojen öğeleri, yani aynı veri türüne ait öğeleri tutan bitişik bir veri yapısıdır.
Python'da diziler tarafından sergilenen başlıca özellikler şunlardır:
- Dizinin bitişik yapısı, verilerin bitişik bellek konumlarında saklanmasına izin verir. Bu, dizi öğeleri üzerinde işlem yapmayı kolaylaştırır.
- Python'da bir dizi iki şekilde bildirilebilir :
- Dizi modülünü kullanma
diziyi içe aktar # 'dizi' modülünü içe aktar
myArray = array.array('i', [10, 20, 30]) # dizi bildirimi
# oluşturulan dizi: [10, 20, 30]
Not: Yukarıdaki bildirimde format kodunun belirtilmesi gerekmektedir. Burada 'i' tamsayı anlamına gelen bir biçim kodudur.
- NumPy modülünü kullanma
numpy'yi içe aktar # 'numpy' modülünü içe aktar
myArray = numpy.array([10, 20, 30]) # dizi bildirimi
# oluşturulan dizi: [10, 20, 30]
- Dizi elemanları sıralanır . Her öğenin ilişkili bir tamsayı indeksi vardır. Örneğin arr[10, 20, 30], '10', '20' ve '30' bellekte sırasıyla 0, 1 ve 2 dizinlerinde saklanır.
Not: Python'da dizi indeksleme 0'dan başlar.
- Bir dizi yalnızca aynı türdeki değerleri, yani homojen öğeleri içerebilir. Örneğin,
dizi[1, 2, 3]
dizi['a', 'b', 'c']
Python'da bir dizi genellikle benzer öğelerin bir listesini depolamak için kullanılır. Bir ekranın gerçek hayattaki bir kullanım durumu, belirli bir hisse senedinin hisse senedi fiyatlarını bir dizi gün boyunca saklamak olabilir. Hisse senedinin kapanış fiyatı, belirli bir hisse senedi ve gün için değişmeden kalır. Bu, bu tür ayrıntıları bir dizi gibi değişmez bir veri yapısında depolamanın çok daha mantıklı olduğu anlamına gelir.
Aslında, NumPy dizileri genellikle veri bilimi ve makine öğreniminde büyük veri kümelerinden gelen verileri depolamak için kullanılır. Her NumPy dizisi, bir veri kümesindeki bir özelliğe karşılık gelir.
Python'daki Listeler
Liste, Python'da desteklenen dört yerleşik kapsayıcıdan veya veri yapısından biridir. Liste kullanmanın en büyük avantajlarından biri, tek bir listenin birden çok veri türünün değerlerini tutabilmesidir.
Python'da listeler tarafından sergilenen başlıca özellikler şunlardır:
- Listeler veri depolama açısından daha esnektir. Heterojen veriler, yani farklı türdeki öğeler içerebilirler . Örneğin,
[1, 'merhaba', ['x', 'y']]
- Listeler de sıralanır ve bir listede saklanan öğelere endeksleri kullanılarak erişilebilir. Negatif endeksler , listenin sonundan bir öğeye erişmek için kullanılabilir. Örneğin.,
myList = [20, 40, 'merhaba', 'dünya']
# sondan ikinci öğenin yazdırılması
print(myList[-2])
Çıktı
- Listeler , listenin başlatılmasından sonra kolayca mutasyona uğratılabilir . Herhangi bir değeri değiştirmek için öğenin dizinini kullanarak ona erişin.
arabalar = ['Ford', 'Tesla', 'Jaguar']
arabalar[2] = 'BMW'
- Çok boyutlu listeler, iç içe listeler kavramı kullanılarak Python'da da uygulanabilir. Bu çok boyutlu listeler Python'da çok boyutlu diziler olarak kullanılabilir.
myArr = [[1, 2], [3, 4]]
# 2 boyutlu dizi oluşturuldu:
# |1, 2|
# |3, 4|
Python'da çok boyutlu heterojen bir listenin gerçek hayattaki bir kullanım durumu, ürün tipi, kategori, maliyet fiyatı, satış fiyatı vb. gibi bir dizi ürün detayını saklamak olabilir. Böyle çok boyutlu bir listedeki her liste, ürün. Listeler değişken olduğu için ürün detaylarını istediğimiz zaman değiştirmek daha kolay hale geliyor.
Kalkınan bir Python geliştiricisiyseniz, Python'da dizi ve liste arasındaki temel farkları ele almak önemli bir husustur. O halde lafı fazla uzatmadan, Python Dizisi vs. Liste ile ilgili doğrudan bir tablo açıklamasına geçelim.
Python'da Dizi ve Liste Arasındaki Farkı Bilin
Python Dizisi vs Liste : Kazanan kim?
PARAMETRE | LİSTE | DİZİ |
beyanname | Python'da yerleşik oldukları için listelerin bildirilmesine gerek yoktur. liste = [ 10 , 20 , 30 ] | Bir dizi bildirmek için bir dizi modülünü veya NumPy kitaplığını içe aktarmanız gerekir. my_arr_1 = dizi.array( 'i' , [ 10 , 20 , 30 ]) |
Veri tipi | Tek bir liste, farklı veri türlerine ait değerleri içerebilir. myList = [ 40 , 'merhaba' , 'm' ] | Bir dizinin tüm öğeleri aynı veri türünde olmalıdır. myArr = dizi.array(i, [ 1 , 0 , 9]) |
Boyut | Python listesi yeniden boyutlandırılabilir , çünkü liste başlatma sırasında Python bazı ekstra öğeleri başlatır. | Diziler, değiştirilemeyen sabit bir boyuta sahiptir. |
Uzay/ Hafıza | Öğelerin eklenmesi veya çıkarılması için daha fazla alan ve bellek tüketir. | Verileri daha kompakt bir şekilde depolar. |
Veri depolama | Az miktarda veri depolamak için tercih edilir. | Büyük miktarda veri depolamak için tercih edilir |
Matematiksel İşlemler | Doğrudan matematiksel işlemler için kullanılamaz. | Dizi öğeleri, gelişmiş matematiksel işlemler kullanılarak kolayca değiştirilebilir. |
Verileri Görüntüle | Bir listenin öğeleri döngü olmadan görüntülenebilir my_List = [ 1 , “Dennis” ,[ 'a' , 'b' ]] yazdır(my_List) | Bir dizinin öğelerinin görüntülenmesi için bir döngü gerekli olmalıdır. diziyi içe aktar my_Arr = dizi.array( 'i' , [ 1 , 2 , 3 ]) my_Arr'daki i için : baskı(I) |
Python Dizisi vs Liste : Kazanan kim?
Bu bölümü okuyorsanız, Python'da liste ve dizi arasındaki farka artık oldukça aşinasınız demektir. Ancak, programınızda Array veya List'i ne zaman kullanacağınızı da bilmelisiniz.
Bu bölüm, bu ikisi arasından en uygun veri yapısını seçmeniz gereken çeşitli durumları tartışmaktadır.
Öğe türü
Veri türü önceden belirlenmemişse, birden çok türe ait bir veri topluluğu vardır. Örneğin, name(string) , ID(integer) ve mark(float) gibi varlıklara sahip öğrencilerin kaydını saklamak için , bir liste tercih edilen bir seçimdir.
Saklanacak veriler aynı veri tipine ait ise burada bir dizi veya liste tercih edilebilir. Seçim daha sonra verilerin boyutu, gerçekleştirilecek işlemler ve kullanım gibi diğer parametrelere bağlı olacaktır.
Bellek Tüketimi
Listenin başlatılması sırasında bir miktar ek alan ayrıldığından, listelerdeki bellek tüketimi daha fazladır. Veri toplama nispeten daha küçükse, burada bir liste verimli bir seçimdir.
Resim Kaynağı: webcourses@UCF
Dizilerin bellek tüketimi listelerden daha verimli olduğundan, diziler büyük miktarda veri depolamak için uygundur.
Resim Kaynağı: webcourses@UCF
Desteklenen İşlemler
Verileriniz herhangi bir aritmetik işlem gerektirmiyorsa, veri işleme için daha iyi yerleşik işlevleri desteklediğinden bir liste daha iyi bir seçim olabilir.
Öte yandan, matematiksel işlemlerin yapılması gerektiğinde diziler kullanılmalıdır. NumPy modülü, trigonometri ve logaritmik işlemler dahil olmak üzere birçok gelişmiş matematiksel işlemi destekler.
İçe aktarılacak modül
Herhangi bir modül veya kitaplık içe aktarılmadan bir liste bildirilebilir. Python'da yerleşik bir veri yapısı olduğu için normal bir değişken gibi tanımlanabilir.
Ancak dizi , Python'un varsayılan kapsayıcılarından biri değildir. En popüler iki modül vardır: dizi ve NumPy . Her modül, dizide depolanan verileri işlemek ve yönetmek için önceden tanımlanmış bazı işlevlerle birlikte gelir.
Çözüm
Bu makale, Python'da dizi ve liste arasındaki farkı anlamanız için gereken tüm konuları ele aldı. Bir listenin veya dizinin uygun olduğu çeşitli kullanım durumlarını da tartıştık.
Veri Bilimi yolculuğunuza başlamak istiyorsanız, upGrad'ın Veri Bilimine kaydolun kurs bugün. upGrad'daki kapsamlı kurs koleksiyonuna göz atın kariyerine başlamak için.
Python dizisi, çeşitli senaryolarda bir liste yerine tercih edilir: Bir dizide depolanan tüm öğeler homojen olduğundan, yani aynı veri türüne sahip olduklarından, bir liste python'daki bir listeden daha hızlıdır, oysa bir liste heterojen öğeler içerir. Python listesi, veri depolamada büyük bir öneme sahiptir ve birden çok durumda kullanılabilir:Python'da bir liste üzerinde bir dizi ne zaman kullanılır?
1. Python'da dizi daha kompakt olduğundan ve bir listeden daha az bellek tükettiğinden, büyük miktarda verinin depolanması gerektiğinde dizi kullanılması tercih edilir.
2. Tüm elemanlar aynı veri tipinde olduğunda verileri depolamak için bir liste kullanmak gereksizdir ve bu nedenle burada bir dizi daha verimli olacaktır.
3. Bir dizide saklanan veriler matematiksel olarak kolayca manipüle edilebilirken, bu bir liste ile oldukça elverişsizdir. Python'da dizi ve liste arasında hangisi daha hızlıdır?
Ayrıca, Python dizileri C'de uygulanır, bu da onu Python'da yerleşik olan listelerden çok daha hızlı yapar. Python'da veri depolamak için bir liste ne zaman daha uygundur?
1. Farklı veri tiplerine sahip çeşitli elemanlarınız olduğunda, bunları bir liste halinde saklayabilir ve bu elemanlara sadece indekslerine bakarak erişebilirsiniz.
2. Bir liste de yeniden boyutlandırılabilir. Bu nedenle, öğelerin sayısından emin olmadığınızda bir liste yararlıdır.
3. Listelerin yerleşik işlevleri veri işleme için oldukça uygun olduğundan, az miktarda verinin saklanması gerektiğinde listeler oldukça tercih edilir.