[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-python-veri-yapilari-liste-sozluk-ve-set-ornekleri-ve-ipuclari":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},26411,"Python veri yapıları: Liste, sözlük ve set örnekleri ve ipuçları","Bu rehberde Python'un temel veri yapıları olan listeler, sözlükler ve setlerin nasıl çalıştığı, örnek kodlar ve performans ipuçlarıyla hangi durumda hangi yapının tercih edileceğini öğreneceksiniz.","\u003Ch2>Giriş — Neden doğru veri yapısını seçmelisiniz?\u003C/h2>\n\u003Cp>Python'da liste (list), sözlük (dict) ve set (set) en sık kullanılan temel veri yapılarıdır. Her biri farklı özellikler sunar: listeler sıralıdır ve öğeler tekrar edilebilir; sözlükler anahtar-değer eşlemesi sağlar ve hızlı erişim amaçlıdır; setler ise benzersiz öğeler ve küme işlemleri için uygundur. Resmi dokümantasyon bu yapıların davranışlarını detaylandırır ve örnekler sunar (\u003Ca href=\"https://docs.python.org/tr/3.11/tutorial/datastructures.html\">Python Veri Yapıları\u003C/a>).\u003C/p>\n\n\u003Ch2>Hızlı özet: Her bir yapının temel özellikleri\u003C/h2>\n\u003Cul>\n  \u003Cli>\u003Cstrong>List (list)\u003C/strong>: Sıralı, değiştirilebilir, elemanlar çoğaltılabilir. İndeksleme ve dilimleme desteklenir.\u003C/li>\n  \u003Cli>\u003Cstrong>Dictionary (dict)\u003C/strong>: Anahtar-değer çiftleri halinde veri saklar; anahtarlar hashlenebilir türlerden olmalıdır. Ortalama erişim hızı yüksektir.\u003C/li>\n  \u003Cli>\u003Cstrong>Set (set)\u003C/strong>: Sırasız, benzersiz öğeler. Kümeler arası işlem (birleşim, kesişim, fark) operasyonları için uygundur. Boş küme oluşturmak için \u003Cem>set()\u003C/em> kullanılmalıdır ({} boş bir sözlüktür).\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Listeler: Temel kullanım ve dikkat edilmesi gerekenler\u003C/h2>\n\u003Cp>Listeler sıra bilgisi ve indeksleme gerektiren durumlar için uygundur. Sık kullanılan işlemler append, extend, insert, remove, pop, sort ve dilimlemedir.\u003C/p>\n\u003Ch3>Örnekler\u003C/h3>\n\u003Cblockquote>\n# liste oluşturma\nnums = [1, 2, 3]\nnums.append(4)\nprint(nums[0])        # 1\nprint(nums[1:3])      # [2, 3]\n# liste anlama (list comprehension)\nsquares = [x*x for x in range(5)]\n\u003C/blockquote>\n\u003Cp>List comprehension ifadeleri genellikle daha kısa ve CPython'da döngülere göre daha verimli çalışır çünkü C seviyesinde optimize edilmiş döngüler kullanılır (\u003Ca href=\"https://docs.python.org/tr/3/tutorial/datastructures.html\">kaynak\u003C/a>).\u003C/p>\n\n\u003Ch3>Performans notları (list)\u003C/h3>\n\u003Ctable>\n  \u003Cthead>\n    \u003Ctr>\u003Cth>İşlem\u003C/th>\u003Cth>Tipik karmaşıklık\u003C/th>\u003Cth>Not\u003C/th>\u003C/tr>\n  \u003C/thead>\n  \u003Ctbody>\n    \u003Ctr>\u003Ctd>İndeks ile erişim\u003C/td>\u003Ctd>O(1)\u003C/td>\u003Ctd>Rastgele erişim hızlıdır.\u003C/td>\u003C/tr>\n    \u003Ctr>\u003Ctd>append\u003C/td>\u003Ctd>O(1) amortize\u003C/td>\u003Ctd>Sona ekleme genelde sabit zamanlıdır.\u003C/td>\u003C/tr>\n    \u003Ctr>\u003Ctd>insert / pop(0) / remove(value)\u003C/td>\u003Ctd>O(n)\u003C/td>\u003Ctd>Araya ekleme veya baştan/ortadan kaldırma maliyetlidir.\u003C/td>\u003C/tr>\n    \u003Ctr>\u003Ctd>membership (in)\u003C/td>\u003Ctd>O(n)\u003C/td>\u003Ctd>Tekil arama lineer zamanlıdır.\u003C/td>\u003C/tr>\n  \u003C/tbody>\n\u003C/table>\n\n\u003Ch2>Sözlükler (dict): Hızlı arama ve anahtar-değer yönetimi\u003C/h2>\n\u003Cp>Sözlükler anahtar-değer eşlemesi sağlar; anahtarlar hashlenebilir olmalıdır (ör. int, str, tuple). Python'ın modern uygulamalarında dict ekleme sırasını korur ve genel amaçlı hızlı erişim gerekirken tercih edilir (\u003Ca href=\"https://docs.python.org/tr/3.11/tutorial/datastructures.html\">kaynak\u003C/a>).\u003C/p>\n\n\u003Ch3>Örnekler\u003C/h3>\n\u003Cblockquote>\n# sözlük oluşturma ve erişim\nperson = {\"isim\": \"Ayşe\", \"yas\": 30}\nprint(person[\"isim\"])        # \"Ayşe\"\n# güvenli erişim\nage = person.get(\"yas\", 0)\n# değer güncelleme\nperson[\"sehir\"] = \"İstanbul\"\n# anahtar değer çiftleri üzerinde döngü\nfor k, v in person.items():\n    print(k, v)\n\u003C/blockquote>\n\n\u003Ch3>Performans notları (dict)\u003C/h3>\n\u003Cul>\n  \u003Cli>Ortalama durumda anahtar arama, ekleme ve silme O(1) olarak kabul edilir; bunun detayları gömülü türler belgelerinde açıklanır (\u003Ca href=\"https://docs.python.org/tr/3.13/library/stdtypes.html\">Gömülü Türler\u003C/a>).\u003C/li>\n  \u003Cli>Anahtarlar hashlenebilir olmalıdır; değiştirilebilir (mutable) türler (ör. list) anahtar olarak kullanılamaz.\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Setler (set): Benzersizlik ve küme işlemleri\u003C/h2>\n\u003Cp>Setler benzersiz öğeler ve yüksek hızlı üyelik testleri için uygundur. Kümeler arası birleşim, kesişim ve fark gibi işlemler kolaylıkla yapılır.\u003C/p>\n\n\u003Ch3>Örnekler\u003C/h3>\n\u003Cblockquote>\n# boş küme oluşturma\ns = set()        # NOT: {} boş bir sözlüktür\ns.add(1)\ns.update([2,3])\nprint(2 in s)    # True\n# küme işlemleri\ns1 = {1,2,3}\ns2 = {2,3,4}\nprint(s1 & s2)   # kesişim -> {2,3}\nprint(s1 | s2)   # birleşim -> {1,2,3,4}\n\u003C/blockquote>\n\n\u003Ch3>Performans notları (set)\u003C/h3>\n\u003Cul>\n  \u003Cli>Üyelik testi (in) genelde O(1)'dir, bu da setleri büyük koleksiyonlarda hızlı kontrol için ideal kılar.\u003C/li>\n  \u003Cli>Setler ve dictler benzer hash tabanlı altyapı kullanır; bu yüzden ortalama performansları benzerdir.\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Sıralama ve büyük veri: ne zaman hangi yöntemi seçmeli?\u003C/h2>\n\u003Cp>Python'da sıralama için iki ana seçenek vardır: listeyi yerinde değiştiren \u003Cstrong>list.sort()\u003C/strong> ve yeni bir liste döndüren \u003Cstrong>sorted()\u003C/strong>. Her ikisi de \u003Cem>key\u003C/em> parametresi alır; \u003Cem>key\u003C/em> fonksiyonu her öğe için bir kez çağrılır, bu sayede \u003Cem>decorate-sort-undecorate\u003C/em> desenine (DSU) çoğu durumda gerek kalmaz (\u003Ca href=\"https://docs.python.org/tr/3/howto/sorting.html\">Sıralama Teknikleri\u003C/a>).\u003C/p>\n\n\u003Cblockquote>\n# örnek: dict listelerini anahtara göre sıralama\npeople = [{\"isim\": \"A\", \"yas\": 30}, {\"isim\": \"B\", \"yas\": 25}]\npeople.sort(key=lambda p: p[\"yas\"])   # yaşa göre artan\n\u003C/blockquote>\n\n\u003Cp>Büyük veri setlerinde key hesaplamaları maliyetliyse, key değerlerini önceden hesaplamak veya uygun veri yapıları kullanmak fayda sağlar. Ayrıca mümkünse bellek kullanımını ve algoritma karmaşıklığını göz önünde bulundurun.\u003C/p>\n\n\u003Ch2>Pratik ipuçları ve sık yapılan yanlışlar\u003C/h2>\n\u003Cul>\n  \u003Cli>Boş bir küme oluşturmak için \u003Cstrong>set()\u003C/strong> kullanın; \u003Cstrong>{}\u003C/strong> sözlük oluşturur.\u003C/li>\n  \u003Cli>İç içe listeler oluştururken paylaşılan referanslara dikkat edin: \u003Cblockquote>\nmatrix = [[0]*3]*3   # tüm satırlar aynı listeyi paylaşır (beklenmedik sonuçlar olabilir)\n# Doğru yöntem:\nmatrix = [[0]*3 for _ in range(3)]\n\u003C/blockquote>\u003C/li>\n  \u003Cli>Tekrarlayan aramalarda list yerine dict veya set kullanmak genellikle daha hızlıdır (üye kontrolü O(1)).\u003C/li>\n  \u003Cli>Bir elemanın sayısını saymak için dict.get veya collections.Counter kullanabilirsiniz; basit dict ile saymak örneği: \u003Cblockquote>\ncounts = {}\nfor item in items:\n    counts[item] = counts.get(item, 0) + 1\n\u003C/blockquote>\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Hızlı tercih rehberi\u003C/h2>\n\u003Col>\n  \u003Cli>Veri sıralı mı ve index gerekliliği var mı? -> list\u003C/li>\n  \u003Cli>Anahtar-değer ilişkisi ve hızlı erişim mi gerekiyor? -> dict\u003C/li>\n  \u003Cli>Tekrarlayan öğeleri kaldırmak veya üyelik testi mi öncelikli? -> set\u003C/li>\n\u003C/ol>\n\n\u003Ch2>Kontrol listesi (kod gözden geçirme için)\u003C/h2>\n\u003Cul>\n  \u003Cli>Doğru veri yapısını seçtim mi (liste/sözlük/set)?\u003C/li>\n  \u003Cli>Gereksiz kopyalar veya büyük geçici yapı oluşturuyor muyum?\u003C/li>\n  \u003Cli>Döngülerin yerine list comprehension veya uygun yerleşik fonksiyonlar kullanılabilir mi?\u003C/li>\n  \u003Cli>Key fonksiyonları pahalıysa hesaplamayı azaltmanın yolu var mı?\u003C/li>\n\u003C/ul>\n\n\u003Ch2>Sonuç\u003C/h2>\n\u003Cp>Listeler, sözlükler ve setler Python'da farklı ihtiyaçlara hizmet eder. Hangi yapıyı seçeceğinizi belirlerken erişim modelleri, ekleme/silme ihtiyaçları ve belleğinizi göz önünde bulundurun. Resmi Python belgeleri bu yapıların detaylarını ve örneklerini içerir; daha teknik bilgiler için \u003Ca href=\"https://docs.python.org/tr/3.11/tutorial/datastructures.html\">Veri Yapıları\u003C/a> ve \u003Ca href=\"https://docs.python.org/tr/3/howto/sorting.html\">Sıralama Teknikleri\u003C/a> sayfalarına bakabilirsiniz.\u003C/p>\n\n\u003Chr>\n\u003Cp>Kaynaklar:\n\u003Ca href=\"https://docs.python.org/tr/3.11/tutorial/datastructures.html\">Python — Veri Yapıları\u003C/a>,\n\u003Ca href=\"https://docs.python.org/tr/3/howto/sorting.html\">Python — Sıralama Teknikleri\u003C/a>,\n\u003Ca href=\"https://docs.python.org/tr/3.13/library/stdtypes.html\">Python — Gömülü Türler\u003C/a>\n\u003C/p>","Python Veri Yapıları — Listeler, Sözlükler ve Setler | Örnek","Python'da listeler, sözlükler ve setlerin temel özellikleri, örnek kullanımlar ve performans ipuçlarını öğrenin. Hangi yapıyı ne zaman seçmeniz gerektiğini net,","Python Veri Yapıları, listeler, sözlükler, set, performans ipuçları, python veri yapıları örnekleri, Python list dict set","python-veri-yapilari-liste-sozluk-ve-set-ornekleri-ve-ipuclari","2026-04-10T10:20:55.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/59b47bd85e0e958633b081517fd2ab1f.jpg","/media/blog/59b47bd85e0e958633b081517fd2ab1f_thumb.jpg","/media/blog/59b47bd85e0e958633b081517fd2ab1f.webp","/media/blog/59b47bd85e0e958633b081517fd2ab1f_thumb.webp",null,{"minutes":30,"wordCount":31,"imageCount":32,"formatted":33},4,776,0,"4 dk okuma süresi","/blog/python-veri-yapilari/python-veri-yapilari-liste-sozluk-ve-set-ornekleri-ve-ipuclari",[],["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/59b47bd85e0e958633b081517fd2ab1f.jpg",{"hid":64,"property":64,"content":65},"og:url","https://kodogreniyorum.com/blog/python-veri-yapilari/python-veri-yapilari-liste-sozluk-ve-set-ornekleri-ve-ipuclari",{"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-ve-ipuclari",["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":30,"name":7,"item":65}]