Python'da Veri Yapısı Türleri: Liste, Tuple, Kümeler ve Sözlük

Yayınlanan: 2020-12-30

Python, tüm Veri Bilimi meraklıları için tüm zamanların favori dilidir. Çok yönlü doğası ve anlaşılması kolay yaklaşım, geliştiricilerin küçük bir noktalı virgül hatasını düzeltmek veya ek parantez kapatmak için zaman harcamak yerine verilerdeki eğilimleri anlamaya ve anlamlı bilgiler elde etmeye daha fazla odaklanmasına yardımcı olur. Yeni başlayanlar arasında en popüler dil olan Python, hızlı bir şekilde uyarlanır, bu nedenle bu dili iyi kavramak önemli hale gelir.

Veri Yapıları, herhangi bir programlama dilinde önemli bir kavramdır. Veri tipine bağlı olarak değişkenlerin ve verilerin bellekten en iyi şekilde nasıl saklanacağını ve alınabileceğini tanımlar. Ayrıca değişkenler arasındaki ilişkiyi tanımlar ve bunlar üzerinde yapılması gereken işlemlere ve fonksiyonlara karar vermede yardımcı olur. Python'un verileri nasıl yönettiğini anlayalım.

İçindekiler

Python'da Veri Yapısı Türleri

1. Liste

Bu, Python programlamasında en basit ve yaygın olarak kullanılan Veri Yapısıdır. Adından da anlaşılacağı gibi, depolanacak öğeler topluluğudur. Depolanan öğeler, onu heterojen yapan herhangi bir tür sayısal, dize, boole, nesne vb. olabilir. Bu, bir listenin herhangi bir tür veriye sahip olabileceği ve herhangi bir döngü türünü kullanarak bu listeyi yineleyebileceğimiz anlamına gelir.

Depolanan öğeler genellikle listedeki konumu tanımlayan bir dizinle ilişkilendirilir. İndeks numaralandırması sıfırdan başlar. Liste değişkendir, yani listedeki öğeler tanımlandıktan sonra bile eklenebilir, kaldırılabilir veya değiştirilebilir. Bu veri yapısı, genellikle homojen olan diğer dillerdeki diziler gibidir, yani dizilerde yalnızca bir tür veri depolanabilir. Listelerdeki bazı temel işlemler aşağıdaki gibidir:

  • Python'da bir liste bildirmek için onu köşeli parantez içine alın:

sample_list = ['upGrad', '1', 2]

  • Boş bir liste başlatmak için:

örnek_liste = liste()

  • Listeye öğeler ekleyin:

sample_list.append('yeni_element')

  • Öğeleri listeden kaldırın:

sample_list.remove(<öğe adı>) belirli öğeyi kaldırır

del sample_list[<element index num>], o dizindeki öğeyi kaldırır

sample_list.pop(<element index num>) bu dizinin öğesini kaldırır ve kaldırılan öğeyi döndürür

  • Herhangi bir dizindeki öğeyi değiştirmek için:

sample_list[<herhangi bir dizin>] = yeni öğe

  • Dilimleme : Bu, belirli durumlarda listedeki öğeleri filtreleyebilen önemli bir özelliktir. Listeden yalnızca belirli bir değer aralığına ihtiyacınız olduğunu düşünün, o zaman bunu basitçe şu şekilde yapabilirsiniz:

sample_list[start: stop: step] burada adım, öğeler arasındaki boşluğu tanımlar ve varsayılan olarak 1'dir.

Hakkında bilgi edinin: Mükemmel Karar Ağacı Nasıl Oluşturulur

2. Grup

Bu, verileri sırayla depolayan başka bir veri yapısıdır, yani eklenen veriler listeler gibi düzenli bir şekilde kalır. Aynı satırları takip eden Tuple, heterojen verileri de depolayabilir ve indeksleme aynı kalır.

İkisi arasındaki en büyük fark, demet içinde depolanan öğelerin değişmez olması ve tanımdan sonra değiştirilememesidir. Bu, yeni öğeler ekleyemeyeceğiniz, mevcut öğeleri değiştiremeyeceğiniz veya kümeden öğeleri silemeyeceğiniz anlamına gelir. Öğeler yalnızca indeksleme veya paket açma yoluyla değiştirilmeden okunabilir.

Bu, oluşturma açısından listeye kıyasla Tuple'ı hızlı hale getirir. Tuple, tek bir bellek bloğunda saklanır, ancak bir liste, veri depolamak için biri sabit boyutlu ve diğeri değişken boyutlu olmak üzere iki blok gerektirir. Kullanıcı, saklanacak öğelerin daha fazla değişiklik gerektirmediğinden emin olduğunda, bir liste yerine bir Tuple tercih edilmelidir. Bir demet kullanırken dikkate alınması gereken bazı şeyler:

  • Boş bir demet başlatmak için:

sample_tuple = demet()

  • Bir tanımlama grubu bildirmek için öğeleri dairesel parantez içine alın:

sample_tuple = ('upGrad', 'Python', 'ML', 23432)

  • Tuple öğelerine erişmek için:

sample_tuple[<index_num>]

3. Setler

Matematikte bir küme, birbiriyle ilişkili olabilen veya olmayabilen, iyi tanımlanmış benzersiz öğeler topluluğudur. Tuple ve listede, birçok yinelenen öğe hatasız olarak saklanabilir, ancak küme veri yapısı yalnızca benzersiz öğeleri alır.

Bir kümenin öğeleri düzensiz bir şekilde depolanır, yani öğeler kümede rastgele depolanır ve desteklenen belirli bir konum veya dizin yoktur, kümede dilimlemeye de izin verilmez. Kümenin kendisi değişkendir, ancak öğeler değişmez olmalıdır çünkü kümelerin çalışma şekli bu öğeleri karma hale getirir ve bu süreçte yalnızca değişmez öğeler özetlenebilir.

Öğeler eklenebilir veya kümeden çıkarılabilir, ancak indeksleme kavramı olmadığı için değiştirilemez ve bu nedenle öğeler değiştirilebilir. Matematikte olduğu gibi burada da birleşim, kesişim, fark, ayrık gibi tüm küme işlemleri yapılabilir. Nasıl uygulanacağına bakalım:

  • Boş bir küme başlatmak için:

örnek_küme = küme()

  • Kümeye öğeler ekleyin:

sample_set.add(item) Bu, kümeye tek bir öğe ekler

sample_set.update(items) Bu, bir liste, demet veya başka bir küme aracılığıyla birden çok öğe ekleyebilir

  • Öğeleri kümeden çıkarın:

sample_set.discard(item) Eğer eleman yoksa, uyarı vermeden elemanı kaldırır

sample_set.remove(item) Kaldırılacak eleman yoksa bir hata verir.

  • İşlemleri ayarlayın (İki kümenin başlatıldığını varsayın: A ve B):

bir | B veya A.union(B): Birleştirme işlemi

A & B veya A.intersection(B): Kavşak işlemi

A – B veya A.difference(B): İki kümenin farkı

A ^ B veya A.smetric_difference(B) : Kümelerin simetrik farkı

Kontrol edin: Python'da Veri Çerçeveleri

4. Sözlük

Bu, veri öğelerinin bir anahtar/değer çifti biçiminde saklanmasına izin veren Python'daki en kullanışlı veri yapısıdır. Anahtar değişmez bir değer olmalıdır ve değer değiştirilebilir bir öğe olabilir. Bu kavram, gerçek bir sözlüğün nasıl göründüğüne benzer, burada anahtar olarak kelimelere ve değer olarak anlamlarına sahibiz. Bir sözlük bu çiftleri sırasız bir şekilde saklar ve bu nedenle bu veri yapısında indeks kavramı yoktur. Bununla ilgili bazı önemli şeyler:

  • Boş bir sözlüğü başlatmak için:

sample_dict = dict()

  • Sözlüğe öğe eklemek için:

sample_dict[anahtar] = değer

Bunu yapmanın başka bir yolu da sample_dict = {key: value}

Bu sözlüğü yazdırırsanız, çıktı şöyle olur: {'anahtar1': değer, 'anahtar2': değer… }

  • Sözlüğün anahtarlarını ve değerlerini almak için:

sample_dict.keys(): anahtar listesini döndürür

sample_dict.values(): değerler listesini döndürür

sample_dict.items(): anahtar/değer çiftlerinin görünüm nesnesini listede tanımlama grubu olarak döndürür

Dünyanın en iyi Üniversitelerinden veri bilimi derslerini öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Python'daki veri yapılarının temel bilgilerini kavramak önemlidir. Veri endüstrisinde olmak, farklı Veri Yapıları, temeldeki algoritmaların daha iyi bir geçici çözümünü elde etmeye yardımcı olabilir. Sonuçları verimli bir şekilde almak için geliştiriciyi en iyi kodlama uygulamaları konusunda daha bilinçli hale getirir. Her bir veri yapısının kullanımı oldukça duruma dayalıdır ve titiz bir uygulama gerektirir.

Veri yapılarının önemi nedir?

Veri yapıları, herhangi bir programlama dilinin temel direklerinden biridir. Verilerin bellekte nasıl saklanacağını ve işleneceğini tanımlarlar. Hangi programlama dilinden söz ediyor olursak olalım, veri yapıları kavramları aynı kalır.

En yaygın veri yapıları dizileri, listeleri, yığınları, kuyrukları, ağaçları, karma haritaları ve grafikleri içerir. Bazıları yerleşiktir, diğerleri ise önceden tanımlanmış veri yapıları yardımıyla kullanıcı tarafından gerçekleştirilmelidir.

Güçlü bir veri yapısı kavrayışını nasıl geliştirebilirim?

Uygulamaların temel kavramları ve herhangi bir veri yapısının çalışması, atmanız gereken ilk adım olmalıdır. Teorik kavramları öğrendikten ve çalıştıktan sonra kodlama kısmına başlayabilirsiniz.

Üzerinde çalıştığınız herhangi bir algoritma veya veri yapısının zaman karmaşıklıklarını ve uzay karmaşıklıklarını her zaman incelemelisiniz. Bu size konsept hakkında doğru bir fikir verecek ve o belirli veri yapısını gerektiren herhangi bir soruyu çözebileceksiniz.

Veri depolamak için bir Python listesi ne zaman tercih edilir?

Bir liste, farklı veri türlerine sahip çeşitli değerleri saklamak için kullanılabilir ve sadece 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.