[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-python-veri-yapilari-listeler-sozlukler-ve-set-icin-pratik-snippetler":3},{"dataItem":4,"heading":36,"metaData":38,"schema":81},["Reactive",5],{"id":6,"title":7,"summary":8,"content":9,"seo_title":10,"seo_description":11,"seo_keywords":12,"slug":13,"createdAt":14,"updatedAt":14,"blog_categories":15,"authors":19,"image":24,"thumb":25,"image_webp":26,"thumb_webp":27,"rating":28,"heading_title":7,"heading_sub_title":17,"readingTime":29,"url":34,"comments":35,"meta_cover":24},35792,"Python Veri Yapıları: Listeler, Sözlükler ve Set için Pratik Snippetler","Bu rehber, Python listeleri, sözlükleri ve setleri için temel kavramlar, pratik kullanım örnekleri ve sık yapılan hatalardan kaçınma ipuçları sunar.","\u003Ch2>Giriş\u003C/h2>\n\u003Cp>Python'da veriyi depolamak ve işlemek için en sık kullanılan yapıların başında \u003Cstrong>list\u003C/strong>, \u003Cstrong>dict\u003C/strong> (sözlük) ve \u003Cstrong>set\u003C/strong> gelir. Bu makalede her bir veri yapısının kısa tanımını, hangi durumlarda tercih edileceğini, pratik kod snippetlerini ve gerçek dünya örneklerini bulacaksınız. Temel davranışlar ve resmi açıklamalar için Python'un resmi dokümantasyonuna bakabilirsiniz: \u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">Python Veri Yapıları — Resmi Dokümantasyon\u003C/a>.\u003C/p>\n\n\u003Ch2>Kısa Karşılaştırma: Listeler, Sözlükler ve Setler\u003C/h2>\n\u003Cp>Aşağıda bu üç yapının kısa bir karşılaştırması yer almaktadır:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>List\u003C/strong>: Sıralı ve değiştirilebilir bir koleksiyondur; aynı listede farklı tiplerde veri bulunabilir.\u003C/li>\n\u003Cli>\u003Cstrong>Dict\u003C/strong> (sözlük): Anahtar-değer çiftlerinden oluşan eşleme yapısıdır; anahtarlarla erişim sağlar. Anahtarların hashable (değiştirilemez/karma fonksiyonuna uygun) olması gerekir.\u003C/li>\n\u003Cli>\u003Cstrong>Set\u003C/strong>: Tekrarsız elemanlardan oluşur; küme işlemleri (birleşim, kesişim, fark) için uygundur ve same element yalnızca bir kez bulunur.\u003C/li>\n\u003C/ul>\n\u003Cp>Bu yapıların ayrıntıları ve daha fazla örnek için resmi belgeye göz atabilirsiniz: \u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">https://docs.python.org/tr/3/tutorial/datastructures.html\u003C/a>.\u003C/p>\n\n\u003Chr>\n\u003Ch2>Listeler (list) — Temel Kullanım ve Pratik Snippetler\u003C/h2>\n\u003Cp>Listeler uygulamalarda en çok kullanılan koleksiyonlardandır. Aşağıda sık yapılan işlemler ve kısa örnekler yer alır.\u003C/p>\n\n\u003Ch3>Oluşturma ve eleman yönetimi\u003C/h3>\n\u003Cp>Basit liste tanımları ve temel operasyonlar:\u003C/p>\n\u003Cp>numbers = [1, 2, 3, 4]\u003Cbr>names = ['ali', 'ayşe', 'mehmet']\u003Cbr>mixed = [1, 'a', 3.14, True]\u003C/p>\n\u003Cp>Eleman ekleme/çıkarma:\u003Cbr>numbers.append(5)  # sona ekle\u003Cbr>numbers.insert(0, 0)  # başa ekle\u003Cbr>numbers.remove(2)  # değere göre sil\u003Cbr>last = numbers.pop()  # sondaki elemanı döndür ve sil\u003C/p>\n\n\u003Ch3>İndeksleme, dilimleme ve kopyalama\u003C/h3>\n\u003Cp>İndeksleme ve dilimleme örnekleri:\u003Cbr>first = numbers[0]\u003Cbr>sub = numbers[1:3]  # 1 dahil, 3 hariç\u003C/p>\n\u003Cp>Kopyalama örnekleri:\u003Cbr>shallow = numbers.copy()  # yüzeysel kopya\u003Cbr>shallow2 = numbers[:]  # yine yüzeysel kopya\u003Cbr>İç içe yapılarda tam bir kopyalama gerekiyorsa copy.deepcopy kullanılması gerekebilir.\u003C/p>\n\n\u003Ch3>İterasyon ve enumerate\u003C/h3>\n\u003Cp>İterasyon örneği (indeks ile):\u003C/p>\n\u003Cp>for i, val in enumerate(names):\u003Cbr>&nbsp;&nbsp;print(i, val)\u003C/p>\n\n\u003Ch3>List comprehension\u003C/h3>\n\u003Cp>List comprehension ile dönüşümler kısa ve okunabilir olur:\u003C/p>\n\u003Cp>squares = [x*x for x in range(1, 6)]  # [1, 4, 9, 16, 25]\u003C/p>\n\n\u003Ch3>İpucu\u003C/h3>\n\u003Cp>Bir koleksiyonu döngü sırasında değiştirmeniz gerekiyorsa, aynı koleksiyon üzerinde doğrudan değişiklik yapmak yerine bir kopya üzerinde iterasyon yapın (ör. \u003Cem>for x in list(coll):\u003C/em>). Bu yaklaşım beklenmeyen sonuçların önüne geçer.\u003C/p>\n\n\u003Chr>\n\u003Ch2>Sözlükler (dict) — Temel Kullanım ve Pratik Snippetler\u003C/h2>\n\u003Cp>Sözlükler anahtar-değer eşlemeleri için idealdir. Anahtarlar hashable olmalıdır; ayrıntılar için resmi dokümantasyona bakın: \u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">Python Veri Yapıları\u003C/a>.\u003C/p>\n\n\u003Ch3>Oluşturma ve erişim\u003C/h3>\n\u003Cp>Basit sözlük:\u003C/p>\n\u003Cp>user = {'ad': 'Ali', 'yas': 30, 'sehir': 'İstanbul'}\u003C/p>\n\u003Cp>Değer erişimi ve varsayılan dönüş:\u003Cbr>isim = user['ad']\u003Cbr>ulke = user.get('ulke', 'bilinmiyor')\u003C/p>\n\n\u003Ch3>Anahtarlar, değerler ve öğeler\u003C/h3>\n\u003Cp>Sık kullanılan görünümler:\u003Cbr>keys = user.keys()  # anahtar görünümü\u003Cbr>values = user.values()  # değer görünümü\u003Cbr>items = user.items()  # (anahtar, değer) çiftleri\u003C/p>\n\n\u003Ch3>Güncelleme ve comprehension\u003C/h3>\n\u003Cp>Sözlük güncelleme ve comprehension örneği:\u003Cbr>user.update({'yas': 31})  # var olan anahtarı güncelle\u003Cbr>squares_map = {x: x*x for x in range(6)}  # {0:0, 1:1, ...}\u003C/p>\n\n\u003Ch3>Gruplama örneği\u003C/h3>\n\u003Cp>Öğeleri anahtar bazında gruplamak için setdefault kullanabilirsiniz:\u003C/p>\n\u003Cp>words = ['elma', 'armut', 'uzum', 'armut']\u003Cbr>groups = {}\u003Cbr>for w in words:\u003Cbr>&nbsp;&nbsp;groups.setdefault(w, []).append(w)\u003C/p>\n\u003Cp>Bu, aynı anahtara sahip öğeleri listeler halinde toplar.\u003C/p>\n\n\u003Ch3>Kısa not\u003C/h3>\n\u003Cp>Sözlükler büyük veri kümelerinde anahtar bazlı erişim kolaylığı sağlar; doğru anahtar seçimi ve ön kontrol (örn. \u003Cem>in\u003C/em> kullanımı veya \u003Cem>get\u003C/em>) iyi uygulamalardır.\u003C/p>\n\n\u003Chr>\n\u003Ch2>Setler (set) — Temel Kullanım ve Pratik Snippetler\u003C/h2>\n\u003Cp>Setler tekrarı önlemek ve kümeler arası işlemler yapmak için uygundur. Set elemanları hashable olmalıdır.\u003C/p>\n\n\u003Ch3>Oluşturma ve temel işlemler\u003C/h3>\n\u003Cp>s = {1, 2, 3}\u003Cbr>s.add(4)\u003Cbr>s.discard(2)  # eleman yoksa hata vermez\u003Cbr>if 3 in s:\u003Cbr>&nbsp;&nbsp;print('var')\u003C/p>\n\n\u003Ch3>Küme işlemleri\u003C/h3>\n\u003Cp>a = {1, 2, 3}\u003Cbr>b = {3, 4, 5}\u003Cbr>union = a.union(b)  # birleşim\u003Cbr>inter = a.intersection(b)  # kesişim\u003Cbr>diff = a.difference(b)  # fark\u003C/p>\n\n\u003Ch3>Tekrarları kaldırma ve sıra notu\u003C/h3>\n\u003Cp>Bir listeyi sete çevirip tekrar listeye dönüştürmek tekrarları kaldırır ancak orijinal sıra korunmaz:\u003Cbr>items = [1, 2, 2, 3, 1]\u003Cbr>unique = list(set(items))  # tekrarları kaldırır, sıra korunmaz\u003C/p>\n\u003Cp>Eğer sıra korunması gerekiyorsa, sıra koruyan bir yöntem (ör. dict.fromkeys veya özel bir fonksiyon) tercih edin.\u003C/p>\n\n\u003Chr>\n\u003Ch2>Gerçek Dünya Örnekleri\u003C/h2>\n\u003Cp>Aşağıda iki kısa, uygulanabilir örnek göreceksiniz.\u003C/p>\n\n\u003Ch3>1) Tekrarları koruyarak kaldırma (sıra korunur)\u003C/h3>\n\u003Cp>Modern Python sürümlerinde dict.fromkeys ile şu şekilde yapılabilir:\u003C/p>\n\u003Cp>def unique_preserve_order(seq):\u003Cbr>&nbsp;&nbsp;return list(dict.fromkeys(seq))\u003C/p>\n\u003Cp>Örnek:\u003Cbr>vals = ['a', 'b', 'a', 'c']\u003Cbr>unique_vals = unique_preserve_order(vals)  # ['a', 'b', 'c']\u003C/p>\n\n\u003Ch3>2) Kelime frekansları (sık kullanılan analiz)\u003C/h3>\n\u003Cp>Kısa bir kelime sayaç fonksiyonu:\u003C/p>\n\u003Cp>def count_words(text):\u003Cbr>&nbsp;&nbsp;counts = {}\u003Cbr>&nbsp;&nbsp;for w in text.split():\u003Cbr>&nbsp;&nbsp;&nbsp;&nbsp;counts[w] = counts.get(w, 0) + 1\u003Cbr>&nbsp;&nbsp;return counts\u003C/p>\n\u003Cp>Bu yöntem, metin analizi veya ön işleme adımlarında hızlıca kullanılabilir.\u003C/p>\n\n\u003Chr>\n\u003Ch2>Kısa İpuçları ve İyi Uygulamalar\u003C/h2>\n\u003Cul>\n\u003Cli>Hangi veri yapısını kullandığınızı açıkça belirtin; kod okunabilirliği için isimlendirme önemlidir (örn. \u003Cem>users_list\u003C/em>, \u003Cem>user_map\u003C/em>).\u003C/li>\n\u003Cli>List comprehension ile basit dönüştürmeler yapın; daha karmaşık mantık için normal döngüler veya yardımcı fonksiyonlar tercih edin.\u003C/li>\n\u003Cli>Sözlük anahtarlarının ve set elemanlarının \u003Cem>hashable\u003C/em> olması gerektiğini unutmayın; genellikle str, int, tuple gibi türler uygundur.\u003C/li>\n\u003Cli>Değişiklik yapmanız gerekirse, iterasyon için kopya almak güvenilir bir yaklaşımdır.\u003C/li>\n\u003Cli>Daha fazla detay ve davranış farkları için her zaman resmi dokümantasyona başvurun: \u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">Python Veri Yapıları\u003C/a>.\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Hızlı Başvuru Tablosu\u003C/h2>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\u003Cth>Operasyon\u003C/th>\u003Cth>List\u003C/th>\u003Cth>Dict\u003C/th>\u003Cth>Set\u003C/th>\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\u003Ctd>Oluşturma\u003C/td>\u003Ctd>[1,2,3]\u003C/td>\u003Ctd>{'k':'v'}\u003C/td>\u003Ctd>{1,2,3}\u003C/td>\u003C/tr>\n\u003Ctr>\u003Ctd>Eleman ekleme\u003C/td>\u003Ctd>append / insert\u003C/td>\u003Ctd>assignment veya update\u003C/td>\u003Ctd>add\u003C/td>\u003C/tr>\n\u003Ctr>\u003Ctd>Çıkarma\u003C/td>\u003Ctd>remove / pop\u003C/td>\u003Ctd>del veya pop\u003C/td>\u003Ctd>discard / remove\u003C/td>\u003C/tr>\n\u003Ctr>\u003Ctd>Üyelik\u003C/td>\u003Ctd>in\u003C/td>\u003Ctd>in (anahtar için)\u003C/td>\u003Ctd>in\u003C/td>\u003C/tr>\n\u003C/tbody>\n\u003C/table>\n\n\u003Chr>\n\u003Ch2>Checklist: Hangi Durumda Hangi Veri Yapısı?\u003C/h2>\n\u003Cul>\n\u003Cli>Sıralı liste, tekrar ihtiyacı varsa: \u003Cstrong>list\u003C/strong>.\u003C/li>\n\u003Cli>Anahtar-değer eşlemesi ve doğrudan anahtar erişimi gerekiyorsa: \u003Cstrong>dict\u003C/strong>.\u003C/li>\n\u003Cli>Tekrarların önlenmesi ve küme işlemleri gerekiyorsa: \u003Cstrong>set\u003C/strong>.\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Kaynaklar ve İleri Okuma\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">Python 3 — Veri Yapıları (Resmi Dokümantasyon)\u003C/a> — temel tanımlar ve detaylı açıklamalar.\u003C/li>\n\u003Cli>\u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Python Veri Tipleri: Temel Rehber ve Örnekler — Netbilio\u003C/a> — pratik örnekler ve açıklamalar.\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.rabisu.com/docs/Python/python-data-tipleri/\">Python Veri Tipleri | Rabisu Docs\u003C/a> — ek örnekler ve açıklamalar.\u003C/li>\n\u003C/ul>\n\n\u003Cp>Resmi dokümantasyon, veri yapılarına dair davranış ve tanımlarda en güvenilir kaynaktır; uygulama gereksinimlerinize göre oraya başvurmanız faydalı olacaktır.\u003C/p>","Python Veri Yapıları — Listeler, Sözlükler ve Set için Prakt","Bu rehber, Python listeleri, sözlükleri ve setleri için temel açıklamalar, pratik kod snippetleri ve kullanım rehberi.","Python Veri Yapıları, python list örnekleri, sözlük kullanımı python, set örnekleri, python veri yapıları örnek","python-veri-yapilari-listeler-sozlukler-ve-set-icin-pratik-snippetler","2026-05-17T16:18:32.000Z",{"id":16,"title":17,"slug":18},205,"Python Veri Yapıları","python-veri-yapilari",{"id":20,"name":21,"nickname":22,"slug":23},91,"Mert Kılıçoğlu","CodeCraftsman","mert-kilicoglu","/media/blog/76a1f6a8d1d4f52e7d62aa1b2c63660e.jpg","/media/blog/76a1f6a8d1d4f52e7d62aa1b2c63660e_thumb.jpg","/media/blog/76a1f6a8d1d4f52e7d62aa1b2c63660e.webp","/media/blog/76a1f6a8d1d4f52e7d62aa1b2c63660e_thumb.webp",null,{"minutes":30,"wordCount":31,"imageCount":32,"formatted":33},5,880,0,"5 dk okuma süresi","/blog/python-veri-yapilari/python-veri-yapilari-listeler-sozlukler-ve-set-icin-pratik-snippetler",[],["Reactive",37],{"title":7,"subTitle":17,"image":24},["Reactive",39],{"title":10,"meta":40,"link":75},[41,43,45,48,51,54,57,60,63,66,69,71,73],{"hid":42,"name":42,"content":11},"description",{"hid":44,"name":44,"content":12},"keywords",{"hid":46,"name":46,"content":47},"author","Başlangıç Seviyesi Kod & Snippet Rehberi",{"hid":49,"name":49,"content":50},"robots","index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1",{"hid":52,"property":52,"content":53},"og:type","website",{"hid":55,"property":55,"content":56},"og:title","Başlangıç Kod & Snippet Rehberi | KodÖğreniyorum",{"hid":58,"property":58,"content":59},"og:description","Yeni başlayanlara yönelik kısa kod örnekleri, snippet'ler ve adım adım alıştırmalar. Hızlı uygulamalarla temel programlama mantığını pekiştir.",{"hid":61,"property":61,"content":62},"og:image","https://kodogreniyorum.com/media/blog/76a1f6a8d1d4f52e7d62aa1b2c63660e.jpg",{"hid":64,"property":64,"content":65},"og:url","https://kodogreniyorum.com/blog/python-veri-yapilari/python-veri-yapilari-listeler-sozlukler-ve-set-icin-pratik-snippetler",{"hid":67,"name":67,"content":68},"twitter:card","summary_large_image",{"hid":70,"name":70,"content":56},"twitter:title",{"hid":72,"name":72,"content":59},"twitter:description",{"hid":74,"name":74,"content":62},"twitter:image",[76,78],{"rel":77,"href":65},"canonical",{"rel":79,"href":80},"amphtml","https://amp.kodogreniyorum.com/blog/python-veri-yapilari/python-veri-yapilari-listeler-sozlukler-ve-set-icin-pratik-snippetler",["Reactive",82],{"@context":83,"@graph":84},"https://schema.org",[85,98],{"@type":86,"headline":10,"image":62,"author":87,"publisher":90,"datePublished":14,"dateModified":14,"mainEntityOfPage":96,"description":11},"BlogPosting",{"@type":88,"name":21,"url":89},"Person","https://kodogreniyorum.com/yazarlar/mert-kilicoglu",{"@type":91,"name":47,"logo":92},"Organization",{"@type":93,"url":94,"width":95,"height":95},"ImageObject","https://kodogreniyorum.com/img/icons/favicon.png",32,{"@type":97,"@id":65},"WebPage",{"@type":99,"itemListElement":100},"BreadcrumbList",[101,106,110,113],{"@type":102,"position":103,"name":104,"item":105},"ListItem",1,"Ana Sayfa","https://kodogreniyorum.com",{"@type":102,"position":107,"name":108,"item":109},2,"Blog","https://kodogreniyorum.com/blog",{"@type":102,"position":111,"name":17,"item":112},3,"https://kodogreniyorum.com/blog/python-veri-yapilari",{"@type":102,"position":114,"name":7,"item":65},4]