[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-python-veri-yapilari-liste-sozluk-ve-set-ornekleri":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},26031,"Python Veri Yapıları: Liste, Sözlük ve Set Örnekleri","Bu makale, Python'da sık kullanılan üç koleksiyon tipi—list, dict ve set—için tanımlar, örnekler, performans notları ve seçim kontrol listesi sunar.","\u003Ch2>Python Veri Yapıları: Liste, Sözlük ve Set Örnekleri\u003C/h2>\n\n\u003Cp>Python programlamada veriyi uygun şekilde temsil etmek, kodun okunabilirliğini ve performansını doğrudan etkiler. Bu rehberde üç temel koleksiyon tipi—list (liste), dict (sözlük) ve set (küme)—için kısa tanımlar, pratik örnekler, performans karşılaştırmaları ve seçim için uygulanabilir bir kontrol listesi bulacaksınız. Tanımlar ve karşılaştırmalar için referanslar: \u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Netbilio\u003C/a>, \u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-dictionary/1379\">Sadık Turan (dict)\u003C/a>, \u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-sets/1378\">Sadık Turan (set)\u003C/a> ve \u003Ca href=\"https://web.harran.edu.tr/assets/uploads/other/files/birecik/files/Pythonda_kullan%C4%B1lan_veri_yap%C4%B1lar%C4%B1nda_bir_veri_yap....pdf\">Harran Üniversitesi özet tablo\u003C/a>.\u003C/p>\n\n\u003Ch3>Kısa Tanımlar\u003C/h3>\n\n\u003Cul>\n  \u003Cli>\u003Cstrong>Liste (list):\u003C/strong> Sıralı ve değiştirilebilir koleksiyonlar. Aynı listede farklı veri tipleri barındırabilir ve eleman tekrarı mümkündür (\u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Netbilio\u003C/a>).\u003C/li>\n  \u003Cli>\u003Cstrong>Sözlük (dict):\u003C/strong> Anahtar-değer çiftlerinden oluşan koleksiyon; anahtarlar benzersiz olmalıdır ve Python 3.7+ sürümlerinde eklenme sırasını korur. Anahtarlar hashlenebilir olmalıdır (\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-dictionary/1379\">Sadık Turan\u003C/a>).\u003C/li>\n  \u003Cli>\u003Cstrong>Set (set):\u003C/strong> Sırasız, tekrarsız eleman kümesi. Set verisi değiştirilebilir; ancak set içinde yer alan öğelerin hashlenebilir (dolayısıyla genellikle değişmez) olması gerekir (\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-sets/1378\">Sadık Turan\u003C/a>).\u003C/li>\n\u003C/ul>\n\n\u003Ch3>1) Liste (list) — Özellikler ve Örnekler\u003C/h3>\n\n\u003Cp>Liste, en yaygın kullanılan koleksiyon tiplerinden biridir. Sıralıdır (index ile erişim) ve mutable — yani var olan listeyi değiştirebilirsiniz.\u003C/p>\n\n\u003Cp>Oluşturma ve temel işlemler:\u003Cbr>\nmy_list = [1, 'iki', 3.0, True]\u003Cbr>\nmy_list.append(4)  # sona ekleme\u003Cbr>\nmy_list.insert(1, 'yeni')  # belirli index'e ekleme\u003Cbr>\nprint(my_list[0])  # indeks ile erişim\u003Cbr>\nslice_ornek = my_list[1:3]  # dilimleme\u003C/p>\n\n\u003Cp>List comprehension örneği (tercih edilen, okunaklı yöntem):\u003Cbr>\nsquares = [x*x for x in range(10)]\u003C/p>\n\n\u003Cp>Sort örnekleri:\u003Cbr>\nsorted_list = sorted(my_list)  # yeni bir liste döner\u003Cbr>\nmy_list.sort()  # listeyi yerinde (in-place) sıralar\u003C/p>\n\n\u003Cp>Kopyalama ve dikkat: \u003Cbr>\nshallow_copy = my_list.copy() veya shallow_copy = my_list[:] ile yüzeysel kopya alırsınız. İç içe (nested) yapı varsa derin kopya için \u003Cem>copy.deepcopy\u003C/em> gerekir.\u003C/p>\n\n\u003Ch3>2) Sözlük (dict) — Özellikler ve Örnekler\u003C/h3>\n\n\u003Cp>Sözlükler anahtar-değer eşleştirmesi için kullanılır; belirli bir anahtara hızlı erişim gerektiren durumlarda idealdir.\u003C/p>\n\n\u003Cp>Oluşturma ve erişim:\u003Cbr>\nperson = {'ad': 'Ayşe', 'yas': 30}\u003Cbr>\nprint(person['ad'])  # 'Ayşe'\u003Cbr>\nprint(person.get('telefon', 'bilgi yok'))  # KeyError yerine varsayılan döner\u003C/p>\n\n\u003Cp>Güncelleme ve iterasyon:\u003Cbr>\nperson['meslek'] = 'mühendis'  # yeni anahtar-ekleme\u003Cbr>\nfor key, value in person.items():\u003Cbr>\n    print(key, value)\u003C/p>\n\n\u003Cp>Sözlük comprehension:\u003Cbr>\nsquares = {x: x*x for x in range(5)}\u003C/p>\n\n\u003Cp>Dikkat: Anahtarlar benzersiz olmalıdır ve hashlenebilir olmalıdır (ör. string, sayı, tuple). Liste gibi mutable tipler anahtar olamaz. Daha fazla detay için bkz. \u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-dictionary/1379\">Sadık Turan — Python Dictionary\u003C/a>.\u003C/p>\n\n\u003Ch3>3) Set (set) — Özellikler ve Örnekler\u003C/h3>\n\n\u003Cp>Setler, tekrar eden öğeleri ortadan kaldırmak veya kümeler arası küme işlemleri yapmak için kullanışlıdır.\u003C/p>\n\n\u003Cp>Oluşturma ve temel işlemler:\u003Cbr>\nmy_set = {1, 2, 3}\u003Cbr>\nmy_set.add(4)\u003Cbr>\nmy_set.remove(2)  # öğeyi kaldırır (öğe yoksa hata verir)\u003Cbr>\nmy_set.discard(5)  # öğe yoksa hata vermez\u003C/p>\n\n\u003Cp>Küme işlemleri:\u003Cbr>\nA = {1,2,3}\u003Cbr>\nB = {3,4,5}\u003Cbr>\nunion = A.union(B)  # {1,2,3,4,5}\u003Cbr>\ninter = A.intersection(B)  # {3}\u003Cbr>\ndiff = A.difference(B)  # {1,2}\u003C/p>\n\n\u003Cp>Tekrardan arındırma (deduplication):\u003Cbr>\nmy_list = [1,2,2,3,3,3]\u003Cbr>\nunique = list(set(my_list))  # sıra korunmaz\u003Cbr>\n# Sıra korunmuş dedup:\nunique_order_preserved = list(dict.fromkeys(my_list))\u003C/p>\n\n\u003Cp>Set hakkında daha detaylı bilgi: \u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-sets/1378\">Sadık Turan — Python Sets\u003C/a>.\u003C/p>\n\n\u003Ch3>Performans ve Zaman Karmaşıklıkları (Özet Tablo)\u003C/h3>\n\n\u003Ctable>\n  \u003Cthead>\n    \u003Ctr>\n      \u003Cth>İşlem\u003C/th>\n      \u003Cth>Liste (list)\u003C/th>\n      \u003Cth>Sözlük (dict)\u003C/th>\n      \u003Cth>Set (set)\u003C/th>\n    \u003C/tr>\n  \u003C/thead>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd>İndex ile erişim\u003C/td>\n      \u003Ctd>O(1)\u003C/td>\n      \u003Ctd>— (anahtar üzerinden erişim)\u003C/td>\n      \u003Ctd>—\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Eleman ekleme (sona)\u003C/td>\n      \u003Ctd>Amortize O(1)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Üyelik testi (in)\u003C/td>\n      \u003Ctd>O(n)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>Silme (belirli değer)\u003C/td>\n      \u003Ctd>O(n)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n      \u003Ctd>Ortalama O(1)\u003C/td>\n    \u003C/tr>\n    \u003Ctr>\n      \u003Ctd>İterasyon\u003C/td>\n      \u003Ctd>O(n)\u003C/td>\n      \u003Ctd>O(n)\u003C/td>\n      \u003Ctd>O(n)\u003C/td>\n    \u003C/tr>\n  \u003C/tbody>\n\u003C/table>\n\n\u003Cp>Bu özet, genel davranışı gösterir; gerçek performans Python sürümüne, veri boyutuna ve işlem tipine göre değişebilir. Aşağıdaki kaynaklarda karşılaştırma tablosuna dair referanslar bulunabilir (\u003Ca href=\"https://web.harran.edu.tr/assets/uploads/other/files/birecik/files/Pythonda_kullan%C4%B1lan_veri_yap%C4%B1lar%C4%B1nda_bir_veri_yap....pdf\">Harran Üniversitesi\u003C/a>, \u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Netbilio\u003C/a>).\u003C/p>\n\n\u003Ch3>Hangi Durumda Hangi Veri Yapısını Seçmeli? — Kısa Kontrol Listesi\u003C/h3>\n\n\u003Cul>\n  \u003Cli>Veri sıralıysa ve indeks ile sık erişilecekse → \u003Cstrong>list\u003C/strong>.\u003C/li>\n  \u003Cli>Anahtar ile hızlı eşleme/lookup gerekiyorsa → \u003Cstrong>dict\u003C/strong>.\u003C/li>\n  \u003Cli>Tekrarları kaldırmak ya da kümeler arası küme işlemleri yapmak istiyorsanız → \u003Cstrong>set\u003C/strong>.\u003C/li>\n  \u003Cli>Hafıza kritikse ve veri çok büyükse, veri yapısının belleğe etkisini test edin; gerektiğinde iteratörler ve jeneratörler kullanın.\u003C/li>\n\u003C/ul>\n\n\u003Ch3>Pratik Örnek: Kullanıcı Verisini Temizleme ve Haritalama\u003C/h3>\n\n\u003Cp>Senaryo: Aynı e-posta adresine sahip kayıtlar olabilir. Önce tekrarı kaldırıp, sonra id'ye göre bir sözlük oluşturmak isteyebilirsiniz.\u003C/p>\n\n\u003Cp># Örnek akış (kısa):\u003Cbr>\nraw_emails = ['a@x.com', 'b@x.com', 'a@x.com']\u003Cbr>\nunique_emails = list(dict.fromkeys(raw_emails))  # sıra korunarak dedup\n\nusers = [\n    {'id': 1, 'email': 'a@x.com'},\n    {'id': 2, 'email': 'b@x.com'},\n]\nuser_by_id = {u['id']: u for u in users}  # dict ile hızlı erişim\u003C/p>\n\n\u003Cp>Bu örnekte \u003Cstrong>dict\u003C/strong> hızlı anahtar erişimi, \u003Cstrong>set\u003C/strong> veya \u003Cstrong>dict.fromkeys\u003C/strong> ise tekrar kaldırmayı sağlar.\u003C/p>\n\n\u003Ch3>Nasıl Test Edersiniz?\u003C/h3>\n\n\u003Cp>Belirli bir kullanım için performans merak ediyorsanız \u003Cem>timeit\u003C/em> veya basit zaman ölçümleri yapın. Örnek:\u003C/p>\n\n\u003Cp>import timeit\u003Cbr>\nsetup = \"lst = list(range(1000))\"\u003Cbr>\nstmt = \"999 in lst\"\u003Cbr>\nprint(timeit.timeit(stmt, setup=setup, number=10000))\u003C/p>\n\n\u003Cp>Aynı testi set ve dict için tekrar ederek karşılaştırabilirsiniz. Ancak sonuçlar veri büyüklüğüne ve Python sürümüne bağlı olacaktır.\u003C/p>\n\n\u003Ch3>Öneriler ve Uygulama İpuçları\u003C/h3>\n\n\u003Cul>\n  \u003Cli>Liste üzerinde iterasyon yaparken aynı listeyi değiştirmekten kaçının; bunun yerine yeni bir liste oluşturun.\u003C/li>\n  \u003Cli>Sözlük erişimlerinde \u003Ccode>dict.get()\u003C/code> kullanmak KeyError riskini azaltır.\u003C/li>\n  \u003Cli>Tekrarları kaldırmak için \u003Ccode>set()\u003C/code> hızlıdır; sıralamayı korumak istiyorsanız \u003Ccode>list(dict.fromkeys(...))\u003C/code> kullanın.\u003C/li>\n  \u003Cli>Performans kritik durumlarda küçük testler (timeit) ile doğrulayın.\u003C/li>\n\u003C/ul>\n\n\u003Chr>\n\n\u003Ch3>Özet\u003C/h3>\n\n\u003Cul>\n  \u003Cli>Listeler sıralı ve değiştirilebilirdir; indeks erişimi ve sıralı tutma gerektiğinde uygundur (\u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Netbilio\u003C/a>).\u003C/li>\n  \u003Cli>Sözlükler anahtar-değer eşleştirmesi sağlar; anahtarlar benzersiz ve hashlenebilir olmalıdır (\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-dictionary/1379\">Sadık Turan\u003C/a>).\u003C/li>\n  \u003Cli>Setler tekrarsız eleman kümesi sunar ve küme işlemleri için uygundur; öğelerin hashlenebilir olması gerekir (\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-sets/1378\">Sadık Turan\u003C/a>).\u003C/li>\n\u003C/ul>\n\n\u003Ch3>Kaynaklar\u003C/h3>\n\n\u003Cul>\n  \u003Cli>\u003Ca href=\"https://netbilio.com/python-veri-tipleri-temel-rehber-ve-ornekler/\">Python Veri Tipleri: Temel Rehber ve Örnekler — Netbilio\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-dictionary/1379\">Python Dictionary — Sadık Turan\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://www.sadikturan.com/python-objeleri-ve-veri-yapilari/python-sets/1378\">Python Sets — Sadık Turan\u003C/a>\u003C/li>\n  \u003Cli>\u003Ca href=\"https://web.harran.edu.tr/assets/uploads/other/files/birecik/files/Pythonda_kullan%C4%B1lan_veri_yap%C4%B1lar%C4%B1nda_bir_veri_yap....pdf\">Python Veri Yapıları Özet Tablo — Harran Üniversitesi\u003C/a>\u003C/li>\n\u003C/ul>\n","Python Veri Yapıları: Liste, Sözlük ve Set Örnekleri — Başl‎","Python'da listeler, sözlükler ve setlerin temel farklarını, kod örneklerini ve hangi durumlarda hangisini seçmeniz gerektiğini adım adım gösteren açıklayıcı bir","Python Veri Yapıları, python list örnekleri, dictionary örnekleri, set kullanımı python, veri yapıları yeni başlayanlar","python-veri-yapilari-liste-sozluk-ve-set-ornekleri","2026-04-09T10:33:30.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/df1b1baded117db42bf8dcf3b3ce5e9d.jpg","/media/blog/df1b1baded117db42bf8dcf3b3ce5e9d_thumb.jpg","/media/blog/df1b1baded117db42bf8dcf3b3ce5e9d.webp","/media/blog/df1b1baded117db42bf8dcf3b3ce5e9d_thumb.webp",null,{"minutes":30,"wordCount":31,"imageCount":32,"formatted":33},5,842,0,"5 dk okuma süresi","/blog/python-veri-yapilari/python-veri-yapilari-liste-sozluk-ve-set-ornekleri",[],["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/df1b1baded117db42bf8dcf3b3ce5e9d.jpg",{"hid":64,"property":64,"content":65},"og:url","https://kodogreniyorum.com/blog/python-veri-yapilari/python-veri-yapilari-liste-sozluk-ve-set-ornekleri",{"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-liste-sozluk-ve-set-ornekleri",["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]