
Bu rehber Python'un temel veri yapıları olan listeler, sözlükler (dictionary) ve setleri uygulamalı örneklerle açıklar. Amaç, hangi yapıyı hangi durumda tercih etmeniz gerektiğini öğretmek ve pratik python kod snippetleri ile hızlı başlayabilmenizi sağlamaktır. Temel davranışlar ve özellikler için Python'un resmi belgelerine bakabilirsiniz: Gömülü Türler — Python.
Listeler, öğeleri sıralı tutan ve değiştirilebilen koleksiyonlardır (Python belgeleri bkz.: Gömülü Türler, Liste nesneleri). Örnek oluşturma:
my_list = [1, 2, 3, 'a']
empty = []
from_range = list(range(5)) # [0,1,2,3,4]
Örnek kullanım:
my_list.append(4)
my_list.extend([5, 6])
val = my_list.pop() # son elemanı alır
squares = [x*x for x in range(6)]
Listeler indeks ile doğrudan erişim sağlar; bu nedenle belli bir indeksteki öğeyi almak hızlıdır. Bununla birlikte, büyük listelerde başlangıca ekleme veya ortadan silme işlemleri listesinin yeniden düzenlenmesini gerektirebilir. Döngü sırasında bir listeyi değiştirmeniz gerekiyorsa, kopya üzerinde iterasyon yapın: for x in my_list[:]:
Sözlükler anahtar–değer çiftleri olarak veri saklar. Anahtarlar benzersiz olmalı ve hashable türlerden olmalıdır; örneğin string, sayı veya tuple anahtar olabilir (detaylar: Gömülü Türler, Sözlük — Python Sözlüğü). Oluşturma örnekleri:
person = {'isim': 'Ayşe', 'yas': 30}
empty = {}
from_pairs = dict([('a', 1), ('b', 2)])
Örnek:
age = person.get('yas', 0)
person['meslek'] = 'mühendis'
for k, v in person.items():
print(k, v)
Anahtarların hashable olması gerekir; değiştirilebilir türler (ör. list) anahtar olarak kullanılamaz. Ayrıca Python 3.7 ve sonrasında sözlükler ekleme sırasını korur; bu özellik pratik dönüşümlerde faydalıdır.
Setler, benzersiz öğelerden oluşan sırasız koleksiyonlardır ve küme teorisine dayalı işlemler için uygundur (Python belgelendirmesi: Set nesneleri). Oluşturma örnekleri:
s = {1, 2, 3}
empty = set() # boş set için set() kullanın; {} boş sözlüktür
unique = set([1, 2, 2, 3]) # {1,2,3}
Örnek:
a = {1, 2, 3}
b = {2, 3, 4}
union = a | b # {1,2,3,4}
intersection = a & b # {2,3}
Setler üyelik testlerinde etkilidir ve tekrar eden öğeleri filtrelemek için pratik bir yoldur. Ancak set kullanmak öğe sırasını korumaz; sıranın önemli olduğu durumlarda farklı yöntemler tercih edilmelidir.
Öğeleri hızlıca benzersiz hale getirmek için set kullanılabilir:
unique = list(set(my_list)) # tekrarları kaldırır, fakat sıra değişebilir
Sıralı benzersiz bir liste gerekiyorsa (Python 3.7+):
ordered_unique = list(dict.fromkeys(my_list)) # ekleme sırasını korur
items = ['elma', 'armut', 'elma', 'muz']
counts = {}
for x in items:
counts[x] = counts.get(x, 0) + 1
Sonuç: counts == {'elma': 2, 'armut': 1, 'muz': 1}
my_list = [0, 1, 2, 3, 4, 5]
evens = [x for x in my_list if x % 2 == 0] # [0,2,4]
keys = ['a', 'b', 'c']
values = [1, 2, 3]
d = dict(zip(keys, values)) # {'a':1,'b':2,'c':3}
| Yapı | Oluşturma örneği | Not |
|---|---|---|
| Liste | [1,2,3] | Sıralı, değiştirilebilir, indekslenebilir |
| Sözlük | {'k': 'v'} | Anahtar–değer, anahtarlar hashable olmalı |
| Set | {1,2,3} veya set() | Sırasız, benzersiz öğeler, küme işlemleri |
Listeler, sözlükler ve setler Python'da farklı görevler için tasarlanmıştır. Hangi yapıyı seçeceğiniz verinin sıralı olup olmadığı, tekrar eden öğeler gerekip gerekmediği ve hızlı anahtar araması ihtiyacına göre değişir. Daha ayrıntılı teknik bilgi ve tüm yöntemlerin listesi için Python'un resmi dokümantasyonunu inceleyin:
Gömülü Türler — Python
Liste nesneleri
Set nesneleri
Sözlük — Glossary
Yorumlar