Python Dizisi ve Liste: Farklar ve Kullanım Durumları

Yayınlanan: 2021-11-03

Python, 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'da bir liste üzerinde bir dizi ne zaman kullanılır?

Python dizisi, çeşitli senaryolarda bir liste yerine tercih edilir:

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?

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.

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?

Python listesi, veri depolamada büyük bir öneme sahiptir ve birden çok durumda kullanılabilir:

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.