Python'da Diziler ve Listeler Nasıl Çalışır?

Python'da Diziler ve Listeler Nasıl Çalışır?

Diziler ve listeler, programlamadaki en yararlı veri yapılarından bazılarıdır - ancak çok az kişi bunları tam potansiyelleriyle gerçekten kullanır. Bugün size bazı basit Python örnekleriyle birlikte temel bilgilerden bahsedeceğim.





Önkoşullar

Bu kavramları öğrenmek için önceden bilmeniz gereken çok fazla bir şey yok. Programlama paradigmaları ve Python hakkında temel bilgiler yardımcı olacaktır, ancak gerekli değildir. Bizim okuyun temel Python örnekleri nereden başlayacağınızı bilmiyorsanız. Python'un işe yaramaz bir dil olduğunu düşünüyorsanız, neden olmadığına bakın.





Aşağıdaki temel fikirler herhangi bir dile uygulanabilirken, ben örnekleri Python'da göstereceğim. Öğrenmesi kolay bir dildir ve neler olup bittiğini anlamak için mükemmel bir platform sağlar. Buna ek olarak, öğreticilerpoint.com mükemmel bir çevrimiçi Python yorumlayıcısı sağlar - istemiyorsanız Python'u yüklemeniz bile gerekmez (bunu yaparsanız sanal ortamlar kılavuzumuza bakın).





Veri Yapıları

nedir veri yapısı ? En temel düzeyinde, bir veri yapısı, verileri verimli bir şekilde depolamanın bir yoludur. Veri yapıları olmadığı için kafanın karışması kolaydır. veri tipleri . Veri türleri derleyiciye (veya Python'un durumunda yorumlayıcıya) verilerin nasıl kullanılacağını söyler. Veri yapıları gerçekleştirilebilecek işlemleri belirtir ve genellikle belirli kurallar ve düzenlemeler uygular.

bazılarını duymuş olabilirsin doğrusal veri türleri (öğeler sıralıdır):



  • Dizi
  • Matris
  • Arama Tablosu

Benzer şekilde, listeler genellikle nasıl çalıştıklarını düzenleyen kurallar ve yöntemler içerir. Bazı yaygın listeler şunlardır:

  • Bağlantılı liste
  • Çift Bağlantılı Liste
  • Dizi Listesi veya Dinamik Dizi

Çok sayıda farklı veri yapısı vardır. duymuş olabilirsin ikili ağaçlar , grafikler , veya karmalar . Bugün temel bilgilerden bahsedeceğim, ancak kendinizi rahat hissettiğinizde daha fazlasını öğrenmek isteyebilirsiniz.





Dizi

En baştan başlayalım. Bir dizi, (ilgili) değerlerin basit bir koleksiyonudur. Bu değerlere eleman adı verilir. Genellikle, nesneler veya diğer listeler dahil, istediğiniz herhangi bir veri türü olabilir! Dizilerle ilgili ana uyarı, tüm verilerin aynı olması gerektiğidir - karışık dizeleri ve tam sayıları depolayamazsınız. Sen az kalsın her zaman kaç tane öğe saklamak istediğinizi belirtmeniz gerekir. Değişken boyut veya dinamik diziler var, ancak sabit uzunluklu dizilerle başlamak daha kolaydır.

Python işleri biraz karmaşıklaştırır. İşleri sizin için çok kolaylaştırır, ancak veri yapılarının katı tanımlarına her zaman bağlı kalmaz. Python'daki çoğu nesne genellikle listelerdir, bu nedenle bir dizi oluşturmak aslında daha fazla iştir. İşte bazı başlangıç ​​kodu:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

İlk satır şunları içe aktarır: dizi modül -- dizilerle çalışmak için bu gereklidir. İkinci satır, adında yeni bir dizi oluşturur. sayılar ve onu 2, 4, 6 ve 8 değerleriyle başlatır. Her öğeye bir tam sayı değer denilen anahtar veya dizin . Anahtarlar sıfır , Bu yüzden sayılar[0] ilk öğeye erişecek ( 2 ):

ne olduğunu merak ediyor olabilirsiniz 'ben' için kullanılır. Bu bir Tür kodu bu, Python'a dizinin tamsayıları depolayacağını söyler. Bu tür bir şeye normalde Python'da ihtiyaç duyulmaz ('pythonic' olarak kabul edilir). Bunun nedeni basittir. Python'daki diziler, işletim sisteminizin temel C dizileri üzerinde çok ince bir sarıcıdır. Bu, hızlı ve kararlı oldukları anlamına gelir, ancak her zaman Python sözdizimine uymayabilirler.

pencerelerde bir video nasıl döndürülür

Karışık türleri bu dizilerde depolayamazsınız. 'makeuseof.com' dizesini saklamak istediğinizi varsayalım:

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Buna izin verilmeyecek ve bir istisna oluşturacaktır:

Tüm öğeleri şu şekilde yazdırabilirsiniz:

print(numbers)

Dizi öğelerine erişmenin bu yöntemi iyi çalışır ve doğru görev için mükemmeldir. Bunun için iyi olmayan şey, tüm diziye erişmek. Programcılar doğal olarak tembeldir, bu yüzden bakımı daha kolay hale getirebileceğim ve kopyala ve yapıştır çabasını azaltabileceğim anlamına geliyorsa, mutlu bir şekilde daha fazla, daha iyi kod yazacağım.

Her programlama dili, liste öğeleri üzerinde yineleme (döngü) için mükemmel olan bir tür döngü uygular. En yaygın döngüler süre ve için . Python sunarak işleri daha da kolaylaştırır. için döngü:

for number in numbers:
print(number)

Öğelere anahtarlarıyla nasıl erişmeniz gerekmediğine dikkat edin. Bu, bir diziyle çalışmanın çok daha iyi bir yoludur. Bir liste üzerinde yineleme yapmanın alternatif bir yolu, için döngü:

for i in range(len(numbers)):
print(numbers[i])

Dizideki öğelerin sayısını belirtmeniz gerekmesine rağmen, bu önceki örnekle tamamen aynı şeyi yapar ( len (arabalar) ), geçmekle birlikte ben dizinin anahtarı olarak. Bu neredeyse tam olarak kod için döngüler çalışır. Bu yol biraz daha fazla esneklik sağlar ve biraz daha hızlıdır (ancak için döngüler yeterince hızlı çoğunluk zamanın.)

Listeler

Artık dizilerin nasıl çalıştığını bildiğinize göre bir listeye bakalım. İnsanlar farklı terminolojiyi birbirinin yerine kullandığından ve listeler listelediğinden bazen kafa karıştırıcı olabilir. NS diziler... bir nevi.

Liste, özel bir dizi türüdür. En büyük fark, listelerin şunları içerebilmesidir: karışık türler (unutmayın, diziler aynı türden öğeler içermelidir). Python'da listeler çok kolaydır:

mac'te kamera nasıl açılır
cars = ['Ford', 'Austin', 'Lancia']

nasıl içe aktarmanız gerekmediğine dikkat edin. dizi modül?

Bu sözdizimi, arabalar adlı bir liste bildirir. Köşeli parantezler içinde, listenin her bir elemanı bildirilir. Her öğe bir virgülle ayrılır ve her öğe bir dize olduğundan, bunları tırnak işaretleri içinde bildirirsiniz. Python bunun bir nesne olduğunu biliyor, bu yüzden Yazdır ifadesi listenin içeriğini çıkaracaktır:

print(cars)

Tıpkı dizide olduğu gibi, liste öğelerini döngüler kullanarak yineleyebilirsiniz:

for car in cars:
print(car)

Listelerin gerçek parti hilesi, karışık türleridir. Devam edin ve bazı ekstra veriler ekleyin:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Bu Python için sorun değil -- bir istisna bile yaratmadı:

Bir listeye yeni öğeler eklemek kolaydır (dizilerle mümkün olmayan bir şey):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Ayrıca iki listeyi tek bir listede birleştirebilirsiniz:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

kullanarak öğeleri kaldırmak kadar kolaydır. kaldırmak sözdizimi:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Bu, Python'daki listelerin ve dizilerin temellerini kapsar. Neden Google E-Tablolar'a okuma ve yazma, json verilerini okuma gibi bir kodlama projesi düşünmüyorsunuz? Belki biraz yapmak için yeni becerilerini kullanabilirsin. özel kısayol düğmeleri . Farklı bir programlama dili olmasına rağmen, bu dizi ilkeleri hala geçerlidir.

Paylaş Paylaş Cıvıldamak E-posta VirtualBox Linux Makinelerinizi Güçlendirmek için 5 İpucu

Sanal makinelerin sunduğu düşük performanstan bıktınız mı? İşte VirtualBox performansınızı artırmak için yapmanız gerekenler.

Sonrakini Oku
İlgili konular
  • Programlama
  • Programlama
  • piton
Yazar hakkında Joe Coburn(136 Makale Yayınlandı)

Joe, İngiltere'deki Lincoln Üniversitesi'nden Bilgisayar Bilimleri mezunudur. Profesyonel bir yazılım geliştiricisi ve drone uçurmadığı veya müzik yazmadığı zamanlarda, genellikle fotoğraf çekerken veya video çekerken bulunabilir.

Joe Coburn'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın