İlan

Diziler ve listeler, programlamada en yararlı veri yapılarından bazılarıdır - ancak çok az insan bunları tam potansiyellerinde kullanır. Bugün bazı basit Python örnekleriyle birlikte sizinle temel bilgilerden bahsedeceğim.

Ön şartlar

Bu kavramları öğrenmek için önceden bilmeniz gereken çok şey yok. Programlama paradigmaları ve Python hakkında temel bilgiler yardımcı olacaktır, ancak zorunlu değildir. Bizim okuyun temel Python örnekleri Hızlı Öğrenmenize Yardımcı Olacak 10 Temel Python ÖrneğiTemel python örneklerinin bu makalesi, zaten bazı programlama deneyimine sahip olanlar ve Python'a mümkün olduğunca çabuk geçmek isteyenler içindir. Daha fazla oku nereden başlayacağınızı bilmiyorsanız. Python'un işe yaramaz bir dil olduğunu düşünüyorsanız, olmamasının nedenleri Python Programlamanın Yararsız Olmamasının 5 NedeniPython - Ya seviyorsunuz ya da nefret ediyorsunuz. Hatta bir sarkaç gibi bir uçtan diğer uca sallanabilirsiniz. Ne olursa olsun, Python kararsız olması zor bir dildir. Daha fazla oku .

instagram viewer

Aşağıdaki temel fikirler herhangi bir dile uygulanabilirken, Python'daki örnekleri göstereceğim. Öğrenmesi kolay bir dildir ve neler olduğunu anlamak için mükemmel bir platform sağlar. Buna ek olarak, tutorialspoint.com mükemmel bir çevrimiçi Python yorumlayıcısı sunar - istemiyorsanız Python'u yüklemenize bile gerek yoktur (eğer yaparsanız, sanal ortamlar kılavuzumuz Python Sanal Ortamını Nasıl Kullanacağınızı Öğreninİster deneyimli bir Python geliştiricisi olun, ister yeni başlıyor olun, herhangi bir Python projesi için sanal ortamın nasıl kurulacağını öğrenmek önemlidir. Daha fazla oku ).

Veri Yapıları

Nedir veri yapısı? En temel düzeyde, bir veri yapısı, verileri verimli bir şekilde depolamanın bir yoludur. Kafa karıştırmak kolaydır çünkü veri yapıları veri tipleri. Veri türleri derleyiciye (veya Python’un yorumlayıcısında) verinin nasıl kullanıldığını anlatır. Veri yapıları gerçekleştirilebilecek işlemleri belirtir ve genellikle belirli kural ve düzenlemeleri uygular.

Bazılarını duymuş olabilirsiniz doğrusal veri türleri (elemanlar sıralıdır):

  • Dizi
  • Matris
  • Arama Tablosu

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

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

Farklı veri yapıları bolluğu vardır. Duymuş olabilirsiniz ikili ağaçlar, grafikleriveya karmaları. Bugün temelleri tartışacağım, ancak rahat olduğunuzda daha fazla bilgi edinmek isteyebilirsiniz.

Dizi

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

Python işleri biraz karmaşıklaştırır. İşleri sizin için çok kolay hale getirir, ancak her zaman veri yapılarının katı tanımlarına 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ıç ​​kodları:

dizi alma dizisi. numbers = dizi ('i', [2, 4, 6, 8]) baskı numaraları [0]

İlk satır, dizi modülü - dizilerle çalışmak için gereklidir. İkinci satır, sayılar ve 2, 4, 6 ve 8 değerleriyle başlatır. Her öğeye bir tamsayı denilen değer anahtar veya indeks. Anahtarlar sıfır, yani numaraları [0] ilk öğeye erişecek (2):

Python Dizileri

Ne olduğunu merak ediyor olabilirsiniz 'ben' için kullanılır. Bu bir Tür kodu Python'a dizinin tamsayılar depolayacağını söyler. Python'da normalde bu tür bir şeye ihtiyaç duyulmayacaktı (“unpythonic” olarak kabul edilir). Bunun nedeni basit. Python'daki diziler, işletim sisteminizin temel C dizilerinde çok ince bir pakettir. Bu, hızlı ve kararlı oldukları anlamına gelir, ancak her zaman Python sözdizimine uymayabilirler.

Bu dizilerde karışık türleri depolayamazsınız. “Makeuseof.com” dizesini saklamak istediğinizi varsayalım:

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

Buna izin verilmeyecek ve bir istisna atacaktır:

Python Dizileri

Tüm öğeleri nasıl yazdırabileceğiniz aşağıda açıklanmıştır:

baskı numaraları
Python Dizileri

Dizi öğelerine erişmenin bu yöntemi iyi çalışır ve doğru görev için mükemmeldir. İyi olmayan şey tüm diziye erişmek. Programcılar doğası gereği tembeldir, bu yüzden bakımı daha kolay hale getirebileceğim ve kopyalama ve yapıştırma çabalarını azaltabileceğim anlamına gelirse daha fazla, daha iyi kod yazacağım.

Her programlama dili, liste öğeleri üzerinde yineleme (döngü) için mükemmel olan bir çeşit döngü uygular. En yaygın döngüler süre ve için. Python, için loop:

Sayılarla numara için: baskı numarası

Anahtarlarına öğelere nasıl erişmek zorunda olmadığınıza dikkat edin. Bu bir dizi ile çalışmanın çok daha iyi bir yoludur. Bir liste üzerinde yineleme yapmanın alternatif bir yolu için loop:

aralıktaki i için (len (sayılar)): baskı numaraları [i]

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

Listeler

Şimdi dizilerin nasıl çalıştığını bildiğinize göre, bir listeye bakalım. Bazen insanlar farklı terminolojileri birbirinin yerine kullandığından ve listelediğinden, kafa karıştırıcı olabilir Hangi diziler… tür.

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

arabalar = ['Ford', 'Austin', 'Lancia']

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

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

baskı arabalar
Python Dizileri

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

arabada araba için: baskı araba
Python Dizileri

Listelerin gerçek parti numarası karışık tipleridir. Devam edin ve fazladan veri ekleyin:

arabalar = ['Ford', 'Austin', 'Lancia', 1, 0,56]

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

Python Dizileri

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

arabalar = ['Ford', 'Austin'] araba yazdırın. cars.append ( 'Lancia') baskı arabalar
Python Dizileri

Ayrıca iki listeyi tek bir liste halinde birleştirebilirsiniz:

arabalar = ['Ford', 'Austin'] araba yazdırın. other_cars = ['Lotus', 'Lancia'] cars.extend (diğer_cars) baskı arabalar
Python Dizileri

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

arabalar = ['Ford', 'Austin', 'Lotus', 'Lancia'] araba yazdırın. cars.remove ( 'Ford') baskı arabalar
Python Dizileri

Bu, Python'daki listelerin ve dizilerin temellerini kapsar. Neden gibi bir kodlama projesi düşünmüyorsunuz? Google E-Tablolar'a okuma ve yazma Python ile Google E-Tablolara Okuma ve YazmaPython garip ve olağandışı görünebilir, ancak öğrenmesi ve kullanması kolaydır. Bu makalede, Python'u kullanarak Google E-Tablolar'a nasıl okunup yazılacağını göstereceğim. Daha fazla oku , json verilerini okuma Python ve JavaScript'i JSON Kullanarak İletişim KurmaBugün size JavaScript'ten Python'a veri göndermek için JSON'u nasıl kullanacağınızı göstereceğim. İhtiyacınız olan tüm kodlarla birlikte bir web sunucusunun nasıl kurulacağını ele alacağım. Daha fazla oku . Belki yeni becerilerinizi kullanarak özel kısayol düğmeleri Arduino ile Kendi Özel Kısayol Düğmelerinizi OluşturunMütevazi Arduino birçok şey yapabilir, ancak bir USB klavyeyi taklit edebileceğini biliyor muydunuz? Bu basit devre ile uzun klavye kısayollarını tek bir özel kısayol tuşunda birleştirebilirsiniz. Daha fazla oku . Farklı bir programlama dili olmasına rağmen, bu dizi ilkeleri hala geçerlidir.

Yeni bir şey öğrendin mi? Daha karmaşık içerikler görmek ister misiniz? Aşağıdaki yorumlarda düşüncelerinizi bizimle paylaşın!

Joe, İngiltere Lincoln Üniversitesi Bilgisayar Bilimi mezunudur. Profesyonel bir yazılım geliştiricisidir ve uçağı uçurmadığı veya müzik yazmadığı zamanlarda, genellikle fotoğraf çekerken veya video üretirken bulunabilir.