Python veri yapıları

Python işlevleri ve meth

Veri yapıları programlamada çok önemlidir. Verilere erişmek ve değiştirmek için verimli bir şekilde verileri düzenlemek, depolamak ve yönetmek için kullanılırlar. 

Haftalık çamaşırlarınızı yıkadığınızı hayal edin. İdeal olarak, sabahları dışarı çıkmadan önce kolay erişim için çorapları, tişörtleri, pantolonları ve narinleri ayrı çekmecelerde ayırın. Bir veri yapısı ile hazırlanıyorsunuz. Şimdi tüm bu eşyaları tek bir çekmeceye veya birden fazla çekmeceye düzensizce attığınızı hayal edin. İşe ya da bir geceye uygun hale gelmenin ne kadar süreceğini düşünüyorsun? Bu, bir veri yapısı olmadan hazırlanıyor.

Bu makalede, Python'un sunduğu yerleşik veri yapılarını ele alıyoruz.




Yerleşik Python'daki Veri Yapıları

Python'daki yerleşik veri yapıları listeleri, sözlükleri, demetleri ve kümeleri içerir.

Listeler

Listeler değişebilirdir (değişiklik yapılabilir). ) farklı öğelere veya parçalara sahip olabilen veri yapıları. Başka bir deyişle, tek bir liste çeşitli farklı veri türleri içerebilir.

 list = ['string ', 300, (2, 4), 'bu önceki veri türü bir tuple idi'] 

Liste veri yapısında listeyi eklemek, kaldırmak veya değiştirmek için kullanılan 11 yöntem vardır.

Bir Listeye Öğe Ekleme

  • append(): append() yöntemi bir listeye tek bir öğe ekler
 list = ['string, next is tupel', (2, 1), 3] list.append(500) print(list) # yazdırır ['string, next is tupel', (2, 1), 3, 500] 
  • extend(): extension() yöntemi, listeyi tüm öğelere göre ekler yinelenebilir. Append()'den şu şekilde farklıdır.
list = ['string, next is tupel', (2, 1), 3] list.append((8, 9) print(list) # prints ['string, next is tupel', (2, 1), 3, (8, 9) ] # append() öğesinin (8, 9) bir demet olarak ayrıldığına dikkat edin 
list = ['string, next is tupel', (2, 1), 3] list.extend((8, 9)) print(list) # prints ['string, next is tupel', (2, 1), 3, 8, 9] # Extend() öğesinin (8, 9) bir demet olarak ayrılmadığına dikkat edin 
  • insert(): insert() yöntemi verilen bir öğeye bir öğe ekler konum veya dizin. İlk argüman, eklenmesi gereken elementin indeksi, ikinci argüman elementin kendisidir.
 list = ['string, next is tupel', (2, 1), 3] list.insert(0, 700) print(list) # prints [700, 'string, next is tupel', ( 2, 1), 3] # 0 dizinine 700 eklendi 

Listeden Öğeleri Kaldırma

  • remove(): remove() yöntemi kaldırır listede kendisine verilen değeri içeren ilk öğe.
 list = [' string, sonraki tupel', (2, 1), 3, 8, 3] list.remove(3) print(list) # prints ['string, sonraki tupel', (2, 1), 8, 3] 
  • pop(): pop() yöntemi, verildiği konumdaki bir değeri kaldırır, ancak indeks verilmezse son öğeyi kaldırır.
 list = ['string, next is tupel', (2, 1), 3] list.p op(0) print(list) # prints [(2, 1), 3] 
 list = ['string, next is tupel', (2, 1), 3] list.pop() print(list) # prints ['string, next is tupel', (2, 1)] 
  • clear(): clear() yöntemi hiçbir argüman almaz. Listedeki tüm öğeleri kaldırır.
 list = ['string, next is tupel' , (2, 1), 3] list.clear() print(list) # prints [] 

Diğer Liste Yöntemleri

  • index(): index() yöntemi, verilen değerin dizinini döndürür.
 list = [8, 20, 1, 9, 2, 3, 937, 0] print(list.index(9)) # prints 3 
  • count(): count() yöntemi sayar bir listede bir değer kaç kez bulunur.
 list = [8, 20, 1 , 8, 2, 8, 937, 8] print(list.count(8)) # prints 4 
  • sort(): sort() yöntemi ile kullanılabilir veya bağımsız değişkenler olmadan ve sıralama özelleştirmesi için kullanılabilir.
 list = [8, 20, 1, 9, 2, 3, 937, 0] list.sort() print(list) # prints [0, 1, 2, 3, 8, 9, 20, 937] < /pre> 
 list = [8, 20, 1, 9, 2, 3, 937, 0] list.sort(reverse= True) print(list) # prints [937, 20, 9, 8, 3, 2, 1, 0] 
  • reverse(): ters yöntemi, listenin öğelerini yerinde tersine çevirir, tıpkı yukarıdaki özelleştirilmiş bir sıralama argümanı alan sıralama yöntemine benzer.
 liste = [8, 20, 1, 9, 2, 3, 937, 0] list.reverse() print(list) # prints [0, 937, 3, 2, 9, 1, 20 , 8] 
  • copy(): copy() yöntemi basitçe bir listenin bir kopyasını döndürür.
 list = [8, 20, 1, 9, 2, 3, 937, 0] list.copy() print(list) # prints [8, 20 , 1, 9, 2, 3, 937, 0] 

Tuple'lar

Tuple'lar parantez içinde tutulan verilerdir. Listelerden farklı olarak, değiştirilebilir değillerdir (yani değişiklik yapılamazlar) ve listelerden daha hızlıdırlar. Değişmez oldukları için sözlüklerde anahtar olarak da kullanabiliriz. Tuple'lar, bir işlevden birden çok sonuç döndürmek istediğimizde de kullanılabilir. 


Birleştirmeyi kullanarak bir demete veri ekleyebiliriz.

Katılımcıların %81'i bir toplantıya katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. bootcamp. Bugün bir bootcamp ile eşleştirin.

Ortalama bir bootcamp mezunu, bir bootcamp'a başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Sözlükler veri yapılarıdır. JavaScript'teki nesneler gibi anahtar değer çiftlerini tutan. Listeler gibi, bu veri yapıları değişkendir, yani verilerini değiştirebiliriz.

Anahtar değer çiftine bir örnek, bir kişinin özellikleridir ve bu özelliklerin açıklaması. Ad, yaş, boy ve kilonun tümü anahtar olabilir. Josh, 33, 5’10, 180 lbs, tümü bu anahtarlar için değerler olabilir.

 dict = {'name': 'Josh', 'ag e': 33, 'height': "5'10", 'weight': '180 lbs' } 

Sözlükler değişken olduğundan, ‘Josh’ başka bir isme.

 dict = {'name': 'Josh', 'age': 33, 'yükseklik': "5'10", 'ağırlık': '180 lbs' } dict['ad'] = 'Patrick' print(dict) # prints {'ad': 'Patrick', 'yaş': 33, 'height': "5'10", 'weight': '180 lbs'} 

Yeni anahtar değer çiftleri oluşturarak değerler ekleyebiliriz.

dict = {'ad': 'Josh', 'yaş': 33, 'yükseklik': "5'10" , 'ağırlık': '180 lbs' } dict['konum'] = 'San Francisco' print(dict) # prints {'name': 'Josh', 'yaş': 33, 'yükseklik': "5'10 ", 'weight': '180 lbs', 'location': 'San Francisco'} 

Del anahtar sözcüğünü kullanarak bir sözlükteki anahtar değer çiftlerini de silebiliriz, pop() veya popitem() yöntemleri. Sözlüklerde pop() öğesinin  bir argüman alalım, bu yüzden bir sözlükten son anahtar değer çiftinden çıkarmak için popitem()'e ihtiyacımız var.

dict = {'name': 'Josh', 'age': 33, 'height': "5'10", 'weight': '180 lbs' } del dict['name'] print(dict) # prints {'age': 33, 'height': "5'10", 'weight': '180 lbs'} 
dict = {'ad': 'Josh', 'yaş': 33, 'yükseklik': "5'10", 'ağırlık': '180 lbs' } dict.pop( 'ad') print(dict) # prints {'yaş': 33, 'yükseklik': "5'10", 'ağırlık': '180 lbs'} 
dict = {'ad': 'Josh', 'yaş': 33, 'yükseklik': "5'10", 'ağırlık': ' 180 lbs' } dict.popitem() print(dict) # prints {'ad': 'Josh', 'yaş': 33, 'yükseklik': "5'10"} 

Ayrıca yalnızca bir sözlüğün anahtarlarını veya yalnızca değerlerini yazdırabiliriz.

dict = { 'isim': 'Jos h', 'yaş': 33, 'yükseklik': "5'10", 'ağırlık': '180 lbs' } print(dict.keys()) # prints dict_keys(['ad', 'yaş', ' yükseklik', 'ağırlık']) 
dict = {'name': 'Josh' , "yaş": 33, "yükseklik": "5'10", "ağırlık": "180 lbs' } print(dict.values()) # prints dict_values(['Josh', 33, "5'10" , '180 lbs']) 

Anahtar değer çiftleri olarak yazdırmak için items() yöntemini kullanabiliriz.

Kümeler değişebilir, sırasız koleksiyonlardır. benzersiz öğeler, yani yinelenen öğeler içermezler. Kümeler, her ikisi de küme parantezleri içinde veri tuttuğu için sözlüklere benzer, ancak sözlüklerin aksine, kümelerin anahtar değer çiftleri yoktur.

set = {1, 2, 2, 2, 3, 3, 4, 4} print(set) # prints {1, 2, 3, 4} 
< p>Add() yöntemini kullanarak kümeye öğeler ekleyebiliriz.

set = {1, 2, 2, 2, 3, 3, 4, 4} set.add(5) print(set) # print {1, 2, 3, 4, 5} 

Kümeleri kullanırken kullanabileceğimiz başka dört yöntem vardır, union(), kesişim(), fark() ve smetric_difference().

  • union(): Union( ) yöntemi, iki fark kümesini birleştirir, her ikisinin ortak noktalarını alır ve onu yinelemesiz tek bir küme olarak üretir.
set = {1, 2, 2, 2, 3, 3, 4, 4} set.add(5) print(set) # prints {1, 2, 3, 4, 5} otherSet = { 3, 3, 4, 4, 5, 5, 6} p rint(set.union(anotherSet)) # prints {1, 2, 3, 4, 5, 6} 
  • intersection(): Kesişme yöntemi ortak öğeleri bulur her iki küme.
set = {1, 2, 2, 2, 3, 3, 4, 4} set.add(5) print(set) # prints {1, 2, 3, 4, 5} otherSet = {3, 3, 4, 4, 5, 5, 6} print(set.intersection( otherSet)) # prints {3, 4, 5} 
  • difference(): Fark yöntemi, kesişme yönteminin tersini yapar, çünkü tüm ortak noktaları çıkarır ve ilk kümeden kalanları yazdırır.
set = {1, 2, 2 , 2, 3, 3, 4, 4} set.add(5) print(set) # prints {1, 2, 3, 4, 5} otherSet = {3, 3, 4, 4, 5, 5, 6 } print(set.difference(anotherSet)) # prints {1, 2} 
  • simetrik_difference(): smetric_difference() yöntemi, bizim almamız dışında fark yöntemiyle aynıdır. ikisinin farkı bu ts çıktıda.
set = {1, 2, 2, 2, 3, 3, 4, 4} set.add(5) print(set) # prints {1, 2, 3, 4, 5} otherSet = {3, 3, 4, 4, 5, 5, 6} print(set. simetrik_difference(anotherSet)) # yazdırır {1, 2, 6} 




Python veri yapıları: StackOverflow Questions

Tutorials