{"id":37405,"date":"2026-01-03T15:40:42","date_gmt":"2026-01-03T12:40:42","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=37405"},"modified":"2026-01-03T15:40:42","modified_gmt":"2026-01-03T12:40:42","slug":"pythonda-bir-listeden-benzersiz-degerleri-alma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/","title":{"rendered":"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma"},"content":{"rendered":"<p><body><\/p>\n<h2>Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma<\/h2>\n<p>Python, veri i\u015fleme ve manip\u00fclasyonu i\u00e7in son derece g\u00fc\u00e7l\u00fc ve esnek bir dildir. Geli\u015ftiricilerin ve veri bilimcilerin s\u0131k\u00e7a kar\u015f\u0131la\u015ft\u0131\u011f\u0131 temel g\u00f6revlerden biri, bir listedeki yinelenen (duplicate) de\u011ferleri kald\u0131rarak yaln\u0131zca benzersiz (unique) \u00f6\u011feleri elde etmektir. Bu i\u015flem, veri temizleme, analiz, raporlama ve \u00e7e\u015fitli algoritma geli\u015ftirme s\u00fcre\u00e7lerinde kritik bir ad\u0131md\u0131r. \u00d6rne\u011fin, bir m\u00fc\u015fteri listesinden farkl\u0131 \u015fehirleri bulmak, bir web sitesinin ziyaret\u00e7i g\u00fcnl\u00fcklerinden benzersiz IP adreslerini \u00e7\u0131karmak veya bir \u00fcr\u00fcn katalo\u011fundan mevcut t\u00fcm kategori adlar\u0131n\u0131 listelemek gibi senaryolarda benzersiz de\u011ferlere ihtiya\u00e7 duyulur.<\/p>\n<p>Python, bu g\u00f6revi yerine getirmek i\u00e7in birden fazla zarif ve etkili yol sunar. Her y\u00f6ntemin kendine \u00f6zg\u00fc avantajlar\u0131, dezavantajlar\u0131 ve belirli kullan\u0131m durumlar\u0131 vard\u0131r. Bu makalede, Python&#8217;da bir listeden benzersiz de\u011ferleri alman\u0131n farkl\u0131 yollar\u0131n\u0131 detayl\u0131ca inceleyece\u011fiz. Her y\u00f6ntemin alt\u0131nda yatan prensipleri a\u00e7\u0131klayacak, kod \u00f6rnekleri sunacak, performanslar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131racak ve hangi senaryoda hangi y\u00f6ntemin daha uygun oldu\u011funu tart\u0131\u015faca\u011f\u0131z.<\/p>\n<h3>Temel Yakla\u015f\u0131mlar ve Python Veri Yap\u0131lar\u0131<\/h3>\n<p>Python&#8217;da benzersiz de\u011ferleri elde etmek i\u00e7in kullanabilece\u011fimiz ba\u015fl\u0131ca yakla\u015f\u0131mlar, dilin yerle\u015fik veri yap\u0131lar\u0131 olan <code>set<\/code> (k\u00fcme) ve <code>dict<\/code> (s\u00f6zl\u00fck) ile d\u00f6ng\u00fc tabanl\u0131 manuel y\u00f6ntemleri i\u00e7erir. Her birini ayr\u0131 ayr\u0131 ele alal\u0131m.<\/p>\n<h4>1. <code>set()<\/code> Kullan\u0131m\u0131<\/h4>\n<p>Python&#8217;\u0131n <code>set<\/code> veri yap\u0131s\u0131, do\u011fas\u0131 gere\u011fi yaln\u0131zca benzersiz \u00f6\u011feler bar\u0131nd\u0131ran s\u0131ras\u0131z bir koleksiyondur. Bu \u00f6zelli\u011fi, bir listeden benzersiz de\u011ferleri elde etmek i\u00e7in en do\u011frudan ve \u00e7o\u011fu zaman en verimli y\u00f6ntemlerden biri yapar. Bir listeyi bir <code>set<\/code>&#8216;e d\u00f6n\u00fc\u015ft\u00fcrd\u00fc\u011f\u00fcn\u00fczde, t\u00fcm yinelenen \u00f6\u011feler otomatik olarak kald\u0131r\u0131l\u0131r.<\/p>\n<p><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong><br \/>\n1.  Listeyi bir <code>set<\/code>&#8216;e d\u00f6n\u00fc\u015ft\u00fcr\u00fcn.<br \/>\n2.  Elde edilen <code>set<\/code>&#8216;i tekrar bir <code>list<\/code>&#8216;e d\u00f6n\u00fc\u015ft\u00fcr\u00fcn (e\u011fer bir liste olarak \u00e7\u0131kt\u0131ya ihtiyac\u0131n\u0131z varsa).<\/p>\n<p><strong>Kod \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-python\"># \u00d6rnek bir liste\nsayilar = [1, 2, 2, 3, 4, 4, 5, 1, 6, 7, 7, 8]\n\n<h2>Listeyi bir set'e d\u00f6n\u00fc\u015ft\u00fcrerek benzersiz de\u011ferleri al<\/h2>\nbenzersiz_sayilar_set = set(sayilar)\nprint(f\"Set hali: {benzersiz_sayilar_set}\") # \u00c7\u0131kt\u0131: {1, 2, 3, 4, 5, 6, 7, 8} (S\u0131ra garanti de\u011fil)\n\n<h2>Set'i tekrar bir listeye d\u00f6n\u00fc\u015ft\u00fcr<\/h2>\nbenzersiz_sayilar_list = list(benzersiz_sayilar_set)\nprint(f\"Liste hali (s\u0131ras\u0131z): {benzersiz_sayilar_list}\") # \u00c7\u0131kt\u0131: [1, 2, 3, 4, 5, 6, 7, 8] (S\u0131ra garanti de\u011fil)\n\n<h2>Farkl\u0131 veri tipleriyle de \u00e7al\u0131\u015f\u0131r<\/h2>\nisimler = [\"Ali\", \"Ay\u015fe\", \"Mehmet\", \"Ali\", \"Fatma\", \"Ay\u015fe\"]\nbenzersiz_isimler = list(set(isimler))\nprint(f\"Benzersiz isimler: {benzersiz_isimler}\") # \u00c7\u0131kt\u0131: ['Ay\u015fe', 'Fatma', 'Mehmet', 'Ali'] (S\u0131ra garanti de\u011fil)<\/code><\/pre>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   <strong>K\u0131sa ve Okunabilir:<\/strong> Tek sat\u0131rl\u0131k bir \u00e7\u00f6z\u00fcm sunar, bu da kodu olduk\u00e7a temiz ve anla\u015f\u0131l\u0131r yapar.<br \/>\n*   <strong>Y\u00fcksek Performans:<\/strong> Python&#8217;\u0131n <code>set<\/code> uygulamas\u0131, \u00f6\u011feleri h\u0131zl\u0131 bir \u015fekilde eklemek ve kontrol etmek i\u00e7in hash tablolar\u0131 kullan\u0131r. Bu, ortalama durumda O(N) zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahip oldu\u011fu anlam\u0131na gelir; burada N, listenin boyutudur. Bu, b\u00fcy\u00fck listeler i\u00e7in olduk\u00e7a verimlidir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   <strong>Orijinal S\u0131ray\u0131 Kaybetme:<\/strong> <code>set<\/code>&#8216;ler s\u0131ras\u0131z veri yap\u0131lar\u0131d\u0131r. Bu nedenle, bir listeyi <code>set<\/code>&#8216;e d\u00f6n\u00fc\u015ft\u00fcr\u00fcp tekrar listeye \u00e7evirdi\u011finizde, orijinal \u00f6\u011felerin eklenme s\u0131ras\u0131 korunmaz. E\u011fer \u00f6\u011felerin orijinal s\u0131ras\u0131n\u0131 korumak sizin i\u00e7in \u00f6nemliyse, bu y\u00f6ntem uygun olmayabilir.<\/p>\n<h4>2. D\u00f6ng\u00fc ve Ko\u015fullu \u0130fade Kullan\u0131m\u0131<\/h4>\n<p>Bu y\u00f6ntem, yeni bir bo\u015f liste olu\u015fturmay\u0131 ve ard\u0131ndan orijinal listedeki her \u00f6\u011feyi bu yeni listeye eklemeden \u00f6nce, \u00f6\u011fenin zaten yeni listede olup olmad\u0131\u011f\u0131n\u0131 kontrol etmeyi i\u00e7erir. E\u011fer \u00f6\u011fe yeni listede yoksa, eklenir.<\/p>\n<p><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong><br \/>\n1.  Bo\u015f bir <code>benzersiz_liste<\/code> olu\u015fturun.<br \/>\n2.  Orijinal listedeki her <code>\u00f6\u011fe<\/code> i\u00e7in:<br \/>\n    *   E\u011fer <code>\u00f6\u011fe<\/code>, <code>benzersiz_liste<\/code> i\u00e7inde de\u011filse, <code>benzersiz_liste<\/code>&#8216;ye ekle.<\/p>\n<p><strong>Kod \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-python\">sayilar = [1, 2, 2, 3, 4, 4, 5, 1, 6, 7, 7, 8]\nbenzersiz_sayilar = []\n\nfor sayi in sayilar:\n    if sayi not in benzersiz_sayilar:\n        benzersiz_sayilar.append(sayi)\n\nprint(f\"D\u00f6ng\u00fc ile benzersiz say\u0131lar (s\u0131ral\u0131): {benzersiz_sayilar}\") # \u00c7\u0131kt\u0131: [1, 2, 3, 4, 5, 6, 7, 8]\n\n<h2>Farkl\u0131 veri tipleriyle de \u00e7al\u0131\u015f\u0131r<\/h2>\nisimler = [\"Ali\", \"Ay\u015fe\", \"Mehmet\", \"Ali\", \"Fatma\", \"Ay\u015fe\"]\nbenzersiz_isimler = []\nfor isim in isimler:\n    if isim not in benzersiz_isimler:\n        benzersiz_isimler.append(isim)\nprint(f\"D\u00f6ng\u00fc ile benzersiz isimler (s\u0131ral\u0131): {benzersiz_isimler}\") # \u00c7\u0131kt\u0131: ['Ali', 'Ay\u015fe', 'Mehmet', 'Fatma']<\/code><\/pre>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   <strong>S\u0131ray\u0131 Koruma:<\/strong> Bu y\u00f6ntem, \u00f6\u011felerin orijinal listedeki eklenme s\u0131ras\u0131n\u0131 kesinlikle korur.<br \/>\n*   <strong>Anla\u015f\u0131l\u0131rl\u0131k:<\/strong> Yeni ba\u015flayanlar i\u00e7in kavramas\u0131 ve uygulamas\u0131 olduk\u00e7a basittir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   <strong>Performans:<\/strong> Bu y\u00f6ntemin performans\u0131, listenin boyutu b\u00fcy\u00fcd\u00fck\u00e7e \u00f6nemli \u00f6l\u00e7\u00fcde d\u00fc\u015fer. Her <code>if sayi not in benzersiz_sayilar:<\/code> kontrol\u00fc, <code>benzersiz_sayilar<\/code> listesinin tamam\u0131n\u0131 taramak zorunda kal\u0131r (ortalama olarak O(k) zaman karma\u015f\u0131kl\u0131\u011f\u0131, burada k, <code>benzersiz_sayilar<\/code> listesinin mevcut boyutudur). Toplamda, bu y\u00f6ntem ortalama durumda O(N^2) zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahip olabilir; bu da b\u00fcy\u00fck listeler i\u00e7in \u00e7ok yava\u015f demektir.<\/p>\n<h4>3. S\u00f6zl\u00fck (<code>dict<\/code>) Kullan\u0131m\u0131 (<code>dict.fromkeys()<\/code>)<\/h4>\n<p>Python 3.7 ve sonraki s\u00fcr\u00fcmlerinde, s\u00f6zl\u00fckler eklenme s\u0131ras\u0131n\u0131 korur. Bu \u00f6zellik, <code>dict.fromkeys()<\/code> metodunu kullanarak bir listeden benzersiz ve s\u0131ral\u0131 de\u011ferler elde etmek i\u00e7in kullan\u0131\u015fl\u0131 bir y\u00f6ntem haline getirir. <code>dict.fromkeys(iterable, value)<\/code> metodu, bir iterable&#8217;daki (\u00f6rne\u011fin bir liste) \u00f6\u011feleri anahtar olarak kullanarak yeni bir s\u00f6zl\u00fck olu\u015fturur ve t\u00fcm anahtarlara ayn\u0131 <code>value<\/code> de\u011ferini atar (varsay\u0131lan olarak <code>None<\/code>). S\u00f6zl\u00fck anahtarlar\u0131 benzersiz olmak zorunda oldu\u011fu i\u00e7in, yinelenen de\u011ferler otomatik olarak tekille\u015ftirilir.<\/p>\n<p><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong><br \/>\n1.  Listeyi <code>dict.fromkeys()<\/code> metoduna arg\u00fcman olarak verin. Bu, listedeki benzersiz \u00f6\u011feleri anahtar olarak i\u00e7eren bir s\u00f6zl\u00fck olu\u015fturur.<br \/>\n2.  Olu\u015fturulan s\u00f6zl\u00fc\u011f\u00fcn anahtarlar\u0131n\u0131 bir listeye d\u00f6n\u00fc\u015ft\u00fcr\u00fcn.<\/p>\n<p><strong>Kod \u00d6rne\u011fi:<\/strong><\/p>\n<pre><code class=\"language-python\">sayilar = [1, 2, 2, 3, 4, 4, 5, 1, 6, 7, 7, 8]\n\n<h2>dict.fromkeys() kullanarak benzersiz anahtarlara sahip bir s\u00f6zl\u00fck olu\u015ftur<\/h2>\nbenzersiz_s\u00f6zl\u00fck = dict.fromkeys(sayilar)\nprint(f\"S\u00f6zl\u00fck hali: {benzersiz_s\u00f6zl\u00fck}\") # \u00c7\u0131kt\u0131: {1: None, 2: None, 3: None, 4: None, 5: None, 6: None, 7: None, 8: None}\n\n<h2>S\u00f6zl\u00fc\u011f\u00fcn anahtarlar\u0131n\u0131 bir listeye d\u00f6n\u00fc\u015ft\u00fcr<\/h2>\nbenzersiz_sayilar_dict_keys = list(benzersiz_s\u00f6zl\u00fck)\nprint(f\"S\u00f6zl\u00fck anahtarlar\u0131 ile benzersiz say\u0131lar (s\u0131ral\u0131): {benzersiz_sayilar_dict_keys}\") # \u00c7\u0131kt\u0131: [1, 2, 3, 4, 5, 6, 7, 8]\n\n<h2>Farkl\u0131 veri tipleriyle de \u00e7al\u0131\u015f\u0131r<\/h2>\nisimler = [\"Ali\", \"Ay\u015fe\", \"Mehmet\", \"Ali\", \"Fatma\", \"Ay\u015fe\"]\nbenzersiz_isimler = list(dict.fromkeys(isimler))\nprint(f\"S\u00f6zl\u00fck anahtarlar\u0131 ile benzersiz isimler (s\u0131ral\u0131): {benzersiz_isimler}\") # \u00c7\u0131kt\u0131: ['Ali', 'Ay\u015fe', 'Mehmet', 'Fatma']<\/code><\/pre>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   <strong>S\u0131ray\u0131 Koruma:<\/strong> Python 3.7 ve sonras\u0131 i\u00e7in \u00f6\u011felerin eklenme s\u0131ras\u0131n\u0131 korur.<br \/>\n*   <strong>Y\u00fcksek Performans:<\/strong> <code>set<\/code>&#8216;e benzer \u015fekilde, s\u00f6zl\u00fckler de hash tablolar\u0131 kullan\u0131r, bu da anahtar ekleme ve kontrol i\u015flemlerini ortalama durumda O(N) zaman karma\u015f\u0131kl\u0131\u011f\u0131na getirir. <code>set<\/code> kadar h\u0131zl\u0131d\u0131r.<br \/>\n*   <strong>K\u0131sa ve Okunabilir:<\/strong> Tek sat\u0131rl\u0131k, Pythonik bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Python 3.7 \u00f6ncesi s\u00fcr\u00fcmlerde s\u0131ray\u0131 korumaz (ancak g\u00fcn\u00fcm\u00fczde \u00e7o\u011fu ortam Python 3.7+ kullan\u0131r).<br \/>\n*   <code>set<\/code>&#8216;e g\u00f6re biraz daha fazla bellek kullanabilir \u00e7\u00fcnk\u00fc her benzersiz \u00f6\u011fe i\u00e7in bir anahtar-de\u011fer \u00e7ifti olu\u015fturulur (de\u011ferler <code>None<\/code> olsa bile).<\/p>\n<h4>4. List Comprehension ve Ge\u00e7ici <code>set<\/code> Kullan\u0131m\u0131<\/h4>\n<p>Bu y\u00f6ntem, <code>set<\/code>&#8216;in h\u0131zl\u0131 kontrol yetene\u011fini kullanarak bir liste anlama (list comprehension) yap\u0131s\u0131 i\u00e7inde benzersiz \u00f6\u011feleri toplarken ayn\u0131 zamanda orijinal s\u0131ray\u0131 korumay\u0131 ama\u00e7lar. Bu, d\u00f6ng\u00fc tabanl\u0131 manuel y\u00f6ntemin performans dezavantaj\u0131n\u0131 giderirken s\u0131ra koruma avantaj\u0131n\u0131 s\u00fcrd\u00fcr\u00fcr.<\/p>\n<p><strong>Nas\u0131l \u00c7al\u0131\u015f\u0131r:<\/strong><br \/>\n1.  Bo\u015f bir <code>g\u00f6r\u00fclen_\u00f6\u011feler<\/code> <code>set<\/code>&#8216;i olu\u015fturun.<br \/>\n2.  Listeyi d\u00f6ng\u00fc ile gezin. Her <code>\u00f6\u011fe<\/code> i\u00e7in:<br \/>\n    *   E\u011fer <code>\u00f6\u011fe<\/code> hen\u00fcz <code>g\u00f6r\u00fclen_\u00f6\u011feler<\/code> <code>set<\/code>&#8216;inde de\u011filse:<br \/>\n        *   <code>\u00f6\u011fe<\/code>&#8216;yi sonu\u00e7 listesine ekleyin.<br \/>\n        *   <code>\u00f6\u011fe<\/code>&#8216;yi <code>g\u00f6r\u00fclen_\u00f6\u011feler<\/code> <code>set<\/code>&#8216;ine ekleyin.<\/p>\n<p><strong>Kod \u00d6rne\u011fi (Pythonik):<\/strong><\/p>\n<pre><code class=\"language-python\">def get_unique_ordered(input_list):\n    seen = set()\n    result = []\n    for item in input_list:\n        if item not in seen:\n            seen.add(item)\n            result.append(item)\n    return result\n\nsayilar = [1, 2, 2, 3, 4, 4, 5, 1, 6, 7, 7, 8]\nbenzersiz_sayilar = get_unique_ordered(sayilar)\nprint(f\"List comprehension ve set ile benzersiz say\u0131lar (s\u0131ral\u0131): {benzersiz_sayilar}\") # \u00c7\u0131kt\u0131: [1, 2, 3, 4, 5, 6, 7, 8]\n\nisimler = [\"Ali\", \"Ay\u015fe\", \"Mehmet\", \"Ali\", \"Fatma\", \"Ay\u015fe\"]\nbenzersiz_isimler = get_unique_ordered(isimler)\nprint(f\"List comprehension ve set ile benzersiz isimler (s\u0131ral\u0131): {benzersiz_isimler}\") # \u00c7\u0131kt\u0131: ['Ali', 'Ay\u015fe', 'Mehmet', 'Fatma']<\/code><\/pre>\n<p><strong>Avantajlar\u0131:<\/strong><br \/>\n*   <strong>S\u0131ray\u0131 Koruma:<\/strong> \u00d6\u011felerin orijinal eklenme s\u0131ras\u0131n\u0131 korur.<br \/>\n*   <strong>Y\u00fcksek Performans:<\/strong> <code>set<\/code>&#8216;in h\u0131zl\u0131 <code>add()<\/code> ve <code>in<\/code> operasyonlar\u0131 sayesinde ortalama durumda O(N) zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahiptir. <code>set()<\/code> veya <code>dict.fromkeys()<\/code> kadar verimlidir.<br \/>\n*   <strong>Esneklik:<\/strong> Daha karma\u015f\u0131k benzersizlik ko\u015fullar\u0131 (\u00f6rne\u011fin, nesneler i\u00e7in \u00f6zel kar\u015f\u0131la\u015ft\u0131rma) gerekti\u011finde kolayca uyarlanabilir.<\/p>\n<p><strong>Dezavantajlar\u0131:<\/strong><br \/>\n*   Di\u011fer O(N) y\u00f6ntemlerine g\u00f6re (set() veya dict.fromkeys()) biraz daha fazla kod sat\u0131r\u0131 gerektirir.<\/p>\n<h3>Performans Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h3>\n<p>Farkl\u0131 y\u00f6ntemlerin performans\u0131n\u0131 anlamak, \u00f6zellikle b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken kritik \u00f6neme sahiptir. Python&#8217;\u0131n <code>timeit<\/code> mod\u00fcl\u00fc, k\u00fc\u00e7\u00fck kod par\u00e7ac\u0131klar\u0131n\u0131n \u00e7al\u0131\u015fma s\u00fcresini \u00f6l\u00e7mek i\u00e7in m\u00fckemmel bir ara\u00e7t\u0131r.<\/p>\n<p>Genel olarak, <code>set()<\/code> ve <code>dict.fromkeys()<\/code> y\u00f6ntemleri, hash tablolar\u0131n\u0131n do\u011fas\u0131 gere\u011fi ortalama durumda O(N) zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahiptir. Bu, listenin boyutu (N) artt\u0131k\u00e7a, i\u015flem s\u00fcresinin do\u011frusal olarak artaca\u011f\u0131 anlam\u0131na gelir. <code>get_unique_ordered<\/code> fonksiyonu da benzer \u015fekilde O(N) performans g\u00f6sterir.<\/p>\n<p>Manuel d\u00f6ng\u00fc ve <code>if item not in list<\/code> kontrol\u00fc ise ortalama durumda O(N^2) zaman karma\u015f\u0131kl\u0131\u011f\u0131na sahiptir. Bu, listenin boyutu iki kat\u0131na \u00e7\u0131kt\u0131\u011f\u0131nda, i\u015flem s\u00fcresinin yakla\u015f\u0131k d\u00f6rt kat\u0131na \u00e7\u0131kaca\u011f\u0131 anlam\u0131na gelir, ki bu b\u00fcy\u00fck listeler i\u00e7in kabul edilemez derecede yava\u015f olabilir.<\/p>\n<p><strong>Performans Testi Kodu:<\/strong><\/p>\n<pre><code class=\"language-python\">import timeit\nimport random\n\n<h2>B\u00fcy\u00fck bir liste olu\u015ftural\u0131m (100.000 eleman, 10.000 benzersiz de\u011fer)<\/h2>\nbuyuk_liste = [random.randint(0, 10000) for _ in range(100000)]\n\n<h2>Y\u00f6ntem 1: set()<\/h2>\ntime_set = timeit.timeit(lambda: list(set(buyuk_liste)), number=100)\nprint(f\"set() y\u00f6ntemi s\u00fcresi: {time_set:.6f} saniye\")\n\n<h2>Y\u00f6ntem 2: D\u00f6ng\u00fc (performans\u0131 k\u00f6t\u00fc oldu\u011fu i\u00e7in daha k\u00fc\u00e7\u00fck liste ile test edilebilir veya test edilmeyebilir)<\/h2>\n<h2>time_loop = timeit.timeit(lambda: get_unique_ordered_slow(buyuk_liste), number=1)<\/h2>\n<h2>print(f\"D\u00f6ng\u00fc y\u00f6ntemi s\u00fcresi: {time_loop:.6f} saniye\")<\/h2>\n<h2>Not: O(N^2) y\u00f6ntem b\u00fcy\u00fck listeler i\u00e7in \u00e7ok yava\u015f olaca\u011f\u0131ndan, bu test uzun s\u00fcrebilir veya \u00e7\u00f6kecektir.<\/h2>\n<h2>Daha k\u00fc\u00e7\u00fck bir liste ile test edelim:<\/h2>\nkucuk_liste = [random.randint(0, 100) for _ in range(1000)]\ndef get_unique_ordered_slow(input_list):\n    result = []\n    for item in input_list:\n        if item not in result:\n            result.append(item)\n    return result\ntime_loop_small = timeit.timeit(lambda: get_unique_ordered_slow(kucuk_liste), number=100)\nprint(f\"D\u00f6ng\u00fc y\u00f6ntemi (k\u00fc\u00e7\u00fck liste) s\u00fcresi: {time_loop_small:.6f} saniye\")\n\n\n<h2>Y\u00f6ntem 3: dict.fromkeys()<\/h2>\ntime_dict_fromkeys = timeit.timeit(lambda: list(dict.fromkeys(buyuk_liste)), number=100)\nprint(f\"dict.fromkeys() y\u00f6ntemi s\u00fcresi: {time_dict_fromkeys:.6f} saniye\")\n\n<h2>Y\u00f6ntem 4: List comprehension ve ge\u00e7ici set (get_unique_ordered fonksiyonu)<\/h2>\ndef get_unique_ordered_fast(input_list):\n    seen = set()\n    result = []\n    for item in input_list:\n        if item not in seen:\n            seen.add(item)\n            result.append(item)\n    return result\ntime_fast_loop = timeit.timeit(lambda: get_unique_ordered_fast(buyuk_liste), number=100)\nprint(f\"List comprehension ve set y\u00f6ntemi s\u00fcresi: {time_fast_loop:.6f} saniye\")<\/code><\/pre>\n<p><strong>Beklenen Sonu\u00e7lar (yakla\u015f\u0131k):<\/strong><br \/>\n*   <code>set()<\/code> ve <code>dict.fromkeys()<\/code> y\u00f6ntemleri genellikle birbirine \u00e7ok yak\u0131n ve en h\u0131zl\u0131 sonu\u00e7lar\u0131 verir.<br \/>\n*   <code>get_unique_ordered_fast<\/code> fonksiyonu da bu ikisine \u00e7ok yak\u0131n performans g\u00f6sterir.<br \/>\n*   Manuel d\u00f6ng\u00fc (<code>get_unique_ordered_slow<\/code>) y\u00f6ntemi, k\u00fc\u00e7\u00fck listeler i\u00e7in bile di\u011ferlerinden belirgin \u015fekilde daha yava\u015f olacakt\u0131r ve b\u00fcy\u00fck listelerde pratik olarak kullan\u0131lamaz.<\/p>\n<p><strong>Sonu\u00e7:<\/strong> Performans a\u00e7\u0131s\u0131ndan, <code>set()<\/code>, <code>dict.fromkeys()<\/code> ve <code>get_unique_ordered_fast<\/code> fonksiyonu (ge\u00e7ici set kullanan) birbirine \u00e7ok benzer ve en iyi se\u00e7eneklerdir. Se\u00e7iminiz, s\u0131ran\u0131n korunup korunmayaca\u011f\u0131na ba\u011fl\u0131 olacakt\u0131r.<\/p>\n<h3>\u00d6zel Durumlar ve Dikkat Edilmesi Gerekenler<\/h3>\n<p>Benzersiz de\u011ferleri al\u0131rken baz\u0131 \u00f6zel durumlar ve potansiyel tuzaklar vard\u0131r.<\/p>\n<h4>1. Hash Edilemeyen Nesneler (Unhashable Objects)<\/h4>\n<p><code>set<\/code> ve <code>dict<\/code> veri yap\u0131lar\u0131, \u00f6\u011felerini h\u0131zl\u0131 bir \u015fekilde depolamak ve aramak i\u00e7in hash de\u011ferlerini kullan\u0131r. Bu nedenle, bir <code>set<\/code> veya <code>dict<\/code>&#8216;in anahtar\u0131 olarak kullan\u0131lacak \u00f6\u011felerin &#8220;hashable&#8221; (hash edilebilir) olmas\u0131 gerekir. Python&#8217;da de\u011fi\u015ftirilemez (immutable) nesneler (say\u0131lar, stringler, tuple&#8217;lar) hash edilebilirken, de\u011fi\u015ftirilebilir (mutable) nesneler (listeler, s\u00f6zl\u00fckler, set&#8217;ler) hash edilemez.<\/p>\n<p>E\u011fer listeniz hash edilemeyen nesneler i\u00e7eriyorsa (\u00f6rne\u011fin, listelerden olu\u015fan bir liste), <code>set()<\/code> veya <code>dict.fromkeys()<\/code> kullanmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bir <code>TypeError: unhashable type: 'list'<\/code> hatas\u0131 al\u0131rs\u0131n\u0131z.<\/p>\n<p><strong>\u00d6rnek:<\/strong><\/p>\n<pre><code class=\"language-python\">liste_icinde_listeler = [[1, 2], [3, 4], [1, 2], [5, 6]]\n\ntry:\n    benzersiz_listeler = list(set(liste_icinde_listeler))\nexcept TypeError as e:\n    print(f\"Hata: {e}\") # \u00c7\u0131kt\u0131: Hata: unhashable type: 'list'<\/code><\/pre>\n<p><strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\nHash edilemeyen nesnelerle \u00e7al\u0131\u015f\u0131rken, bunlar\u0131 hash edilebilir bir forma d\u00f6n\u00fc\u015ft\u00fcrmeniz gerekir. \u00d6rne\u011fin, i\u00e7 listeleri <code>tuple<\/code>&#8216;lara d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz:<\/p>\n<pre><code class=\"language-python\">liste_icinde_listeler = [[1, 2], [3, 4], [1, 2], [5, 6]]\n\n<h2>\u0130\u00e7 listeleri tuple'lara d\u00f6n\u00fc\u015ft\u00fcr<\/h2>\ntuple_listesi = [tuple(sublist) for sublist in liste_icinde_listeler]\nprint(f\"Tuple listesi: {tuple_listesi}\") # \u00c7\u0131kt\u0131: [(1, 2), (3, 4), (1, 2), (5, 6)]\n\n<h2>Benzersiz tuple'lar\u0131 al<\/h2>\nbenzersiz_tuple_listesi = list(set(tuple_listesi))\nprint(f\"Benzersiz tuple'lar: {benzersiz_tuple_listesi}\") # \u00c7\u0131kt\u0131: [(1, 2), (3, 4), (5, 6)] (S\u0131ra garanti de\u011fil)\n\n<h2>\u0130sterseniz tekrar listelere d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz<\/h2>\nbenzersiz_listeler_son = [list(t) for t in benzersiz_tuple_listesi]\nprint(f\"Benzersiz listeler (son hali): {benzersiz_listeler_son}\") # \u00c7\u0131kt\u0131: [[1, 2], [3, 4], [5, 6]] (S\u0131ra garanti de\u011fil)\n\n<h2>S\u0131ral\u0131 benzersiz listeler i\u00e7in get_unique_ordered fonksiyonunu kullan\u0131n:<\/h2>\ndef get_unique_ordered_unhashable(input_list):\n    seen_tuples = set()\n    result = []\n    for item in input_list:\n        item_as_tuple = tuple(item) # Her \u00f6\u011feyi tuple'a \u00e7evir\n        if item_as_tuple not in seen_tuples:\n            seen_tuples.add(item_as_tuple)\n            result.append(item) # Orijinal listeyi ekle\n    return result\n\nbenzersiz_listeler_sirali = get_unique_ordered_unhashable(liste_icinde_listeler)\nprint(f\"S\u0131ral\u0131 benzersiz listeler: {benzersiz_listeler_sirali}\") # \u00c7\u0131kt\u0131: [[1, 2], [3, 4], [5, 6]]<\/code><\/pre>\n<h4>2. S\u0131ra Koruma<\/h4>\n<p>Daha \u00f6nce de belirtildi\u011fi gibi, s\u0131ran\u0131n korunmas\u0131 gerekiyorsa <code>set()<\/code> do\u011frudan kullan\u0131lamaz. Bu durumda <code>dict.fromkeys()<\/code> (Python 3.7+) veya ge\u00e7ici bir <code>set<\/code> kullanan d\u00f6ng\u00fc (<code>get_unique_ordered<\/code> fonksiyonu) tercih edilmelidir. S\u0131ra \u00f6nemli de\u011filse, <code>set()<\/code> en basit ve genellikle en h\u0131zl\u0131 \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h4>3. B\u00fcy\u00fck Veri K\u00fcmeleri ve Bellek Kullan\u0131m\u0131<\/h4>\n<p>\u00c7ok b\u00fcy\u00fck listelerle \u00e7al\u0131\u015f\u0131rken (milyonlarca veya milyarlarca \u00f6\u011fe), belle\u011fin verimli kullan\u0131m\u0131 \u00f6nem kazan\u0131r. <code>set()<\/code> veya <code>dict.fromkeys()<\/code> y\u00f6ntemleri, t\u00fcm benzersiz \u00f6\u011feleri bellekte saklamak i\u00e7in ek bellek alan\u0131 gerektirir. E\u011fer liste \u00e7ok b\u00fcy\u00fckse ve benzersiz \u00f6\u011fe say\u0131s\u0131 da \u00e7ok fazlaysa, bu y\u00f6ntemler bellek sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p>Bu t\u00fcr senaryolarda, e\u011fer veriyi diskten okuyorsan\u0131z veya bir jenerat\u00f6rden al\u0131yorsan\u0131z, benzersizle\u015ftirme i\u015flemini &#8220;stream&#8221; \u00fczerinde yapmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. Ancak, bu genellikle t\u00fcm veriye bir kez eri\u015fmeniz ve benzersiz \u00f6\u011feleri bir koleksiyonda tutman\u0131z gerekti\u011fi i\u00e7in daha karma\u015f\u0131k hale gelir. \u00c7o\u011fu durumda, Python&#8217;\u0131n yerle\u015fik veri yap\u0131lar\u0131 orta \u00f6l\u00e7ekli veri k\u00fcmeleri i\u00e7in yeterince verimlidir.<\/p>\n<h4>4. Karma\u015f\u0131k Nesneler ve \u00d6zel Kar\u015f\u0131la\u015ft\u0131rmalar<\/h4>\n<p>E\u011fer listeniz \u00f6zel s\u0131n\u0131f \u00f6rnekleri gibi karma\u015f\u0131k nesneler i\u00e7eriyorsa, &#8220;benzersizlik&#8221; kavram\u0131 sadece nesne kimli\u011fi veya varsay\u0131lan e\u015fitlik (<code>==<\/code>) operat\u00f6r\u00fc ile tan\u0131mlanamayabilir. \u00d6rne\u011fin, iki farkl\u0131 <code>Person<\/code> nesnesinin, ayn\u0131 <code>id<\/code> veya <code>email<\/code> adresine sahip olduklar\u0131 i\u00e7in &#8220;ayn\u0131&#8221; kabul edilmesini isteyebilirsiniz.<\/p>\n<p>Bu durumda, nesnelerinizin <code>__eq__<\/code> (e\u015fitlik) ve <code>__hash__<\/code> (hash de\u011feri) metotlar\u0131n\u0131 do\u011fru bir \u015fekilde uygulaman\u0131z gerekir. Python, bu metotlar\u0131 <code>set<\/code> ve <code>dict<\/code> gibi hash tabanl\u0131 veri yap\u0131lar\u0131nda nesneleri kar\u015f\u0131la\u015ft\u0131rmak ve depolamak i\u00e7in kullan\u0131r.<\/p>\n<pre><code class=\"language-python\">class Person:\n    def __init__(self, name, age, email):\n        self.name = name\n        self.age = age\n        self.email = email\n\n    def __repr__(self):\n        return f\"Person(name='{self.name}', age={self.age}, email='{self.email}')\"\n\n    # \u0130ki Person nesnesini email adreslerine g\u00f6re e\u015fit kabul et\n    def __eq__(self, other):\n        if not isinstance(other, Person):\n            return NotImplemented\n        return self.email == other.email\n\n    # Hash de\u011feri de email adresine g\u00f6re olu\u015fturulmal\u0131\n    def __hash__(self):\n        return hash(self.email)\n\npeople = [\n    Person(\"Alice\", 30, \"alice@example.com\"),\n    Person(\"Bob\", 25, \"bob@example.com\"),\n    Person(\"Charlie\", 35, \"charlie@example.com\"),\n    Person(\"David\", 28, \"alice@example.com\"), # Alice ile ayn\u0131 email\n    Person(\"Eve\", 32, \"bob@example.com\")     # Bob ile ayn\u0131 email\n]\n\n<h2>set() kullanarak benzersiz Person nesnelerini al<\/h2>\nbenzersiz_insanlar = list(set(people))\nprint(f\"Benzersiz insanlar: {benzersiz_insanlar}\")\n<h2>\u00c7\u0131kt\u0131: [Person(name='Charlie', age=35, email='charlie@example.com'),<\/h2>\n<h2>Person(name='Alice', age=30, email='alice@example.com'),<\/h2>\n<h2>Person(name='Bob', age=25, email='bob@example.com')]<\/h2>\n<h2>G\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, email adresleri ayn\u0131 olan David ve Eve nesneleri kald\u0131r\u0131ld\u0131.<\/code><\/pre>\n<\/h2>\n<p>E\u011fer nesneler \u00fczerinde <code>__eq__<\/code> ve <code>__hash__<\/code> tan\u0131mlayamazsan\u0131z veya bu \u00e7ok karma\u015f\u0131ksa, manuel bir d\u00f6ng\u00fc ve \u00f6zel bir kar\u015f\u0131la\u015ft\u0131rma fonksiyonu kullanman\u0131z gerekebilir.<\/p>\n<h3>Pratik Uygulamalar ve Kullan\u0131m Senaryolar\u0131<\/h3>\n<p>Benzersiz de\u011ferleri alma i\u015flemi, bir\u00e7ok ger\u00e7ek d\u00fcnya senaryosunda temel bir ihtiya\u00e7t\u0131r:<\/p>\n<p>1.  <strong>Veri Temizleme (Data Cleaning):<\/strong> Bir veri k\u00fcmesinden yinelenen kay\u0131tlar\u0131 veya girdileri kald\u0131rmak, veri analizinin ve modellemenin ilk ad\u0131mlar\u0131ndan biridir. \u00d6rne\u011fin, bir CSV dosyas\u0131ndan okunan sat\u0131rlarda tekrar eden veri giri\u015flerini temizlemek.<br \/>\n2.  <strong>Veri Analizi (Data Analysis):<\/strong> Bir s\u00fctundaki benzersiz kategorileri, etiketleri veya durumlar\u0131 bulmak. \u00d6rne\u011fin, bir sat\u0131\u015f veri tablosunda hangi \u015fehirlerde sat\u0131\u015f yap\u0131ld\u0131\u011f\u0131n\u0131, hangi \u00fcr\u00fcn kategorilerinin mevcut oldu\u011funu belirlemek.<br \/>\n3.  <strong>Arama ve Filtreleme:<\/strong> Bir arama motorunda veya e-ticaret sitesinde kullan\u0131c\u0131n\u0131n se\u00e7ebilece\u011fi benzersiz filtre se\u00e7eneklerini (markalar, renkler, bedenler vb.) dinamik olarak olu\u015fturmak.<br \/>\n4.  <strong>Veritaban\u0131 \u0130\u015flemleri:<\/strong> Bir veritaban\u0131na yeni kay\u0131t eklemeden \u00f6nce, belirli bir alan\u0131n (\u00f6rne\u011fin kullan\u0131c\u0131 ad\u0131 veya e-posta) zaten mevcut olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in benzersiz bir liste olu\u015fturmak.<br \/>\n5.  <strong>Web Geli\u015ftirme:<\/strong> Bir blog g\u00f6nderisinin etiketlerini (tag) listelerken, her etiketin sadece bir kez g\u00f6r\u00fcnmesini sa\u011flamak. Kullan\u0131c\u0131lar\u0131n girdi\u011fi etiketleri tekille\u015ftirmek.<br \/>\n6.  <strong>Algoritma Geli\u015ftirme:<\/strong> Bir algoritman\u0131n belirli bir ad\u0131m\u0131nda, yaln\u0131zca benzersiz girdilerle i\u015flem yap\u0131lmas\u0131 gerekti\u011finde (\u00f6rne\u011fin, bir graf algoritmas\u0131nda benzersiz d\u00fc\u011f\u00fcmleri i\u015flemek).<br \/>\n7.  <strong>G\u00fcnl\u00fck Analizi:<\/strong> Sunucu g\u00fcnl\u00fcklerinden benzersiz hata kodlar\u0131n\u0131, uyar\u0131 mesajlar\u0131n\u0131 veya IP adreslerini \u00e7\u0131karmak.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Python, bir listeden benzersiz de\u011ferleri elde etmek i\u00e7in hem basit hem de geli\u015fmi\u015f bir\u00e7ok y\u00f6ntem sunar. En uygun y\u00f6ntemi se\u00e7mek, temel olarak iki fakt\u00f6re ba\u011fl\u0131d\u0131r:<\/p>\n<p>1.  <strong>S\u0131ran\u0131n Korunmas\u0131 Gereklili\u011fi:<\/strong><br \/>\n    *   <strong>S\u0131ra \u00f6nemli de\u011filse:<\/strong> <code>list(set(my_list))<\/code> en basit, en k\u0131sa ve genellikle en h\u0131zl\u0131 \u00e7\u00f6z\u00fcmd\u00fcr.<br \/>\n    *   <strong>S\u0131ra \u00f6nemliyse:<\/strong> <code>list(dict.fromkeys(my_list))<\/code> (Python 3.7+) veya ge\u00e7ici bir <code>set<\/code> kullanan d\u00f6ng\u00fc (<code>get_unique_ordered<\/code> fonksiyonu) tercih edilmelidir. Her ikisi de O(N) performans sunar.<\/p>\n<p>2.  <strong>Listenin Boyutu ve \u00d6\u011felerin T\u00fcr\u00fc:<\/strong><br \/>\n    *   K\u00fc\u00e7\u00fck listeler i\u00e7in t\u00fcm y\u00f6ntemler yeterince h\u0131zl\u0131 olacakt\u0131r.<br \/>\n    *   B\u00fcy\u00fck listeler i\u00e7in O(N^2) performans g\u00f6steren manuel d\u00f6ng\u00fc (<code>if item not in result<\/code>) kesinlikle ka\u00e7\u0131n\u0131lmal\u0131d\u0131r.<br \/>\n    *   Liste hash edilemeyen nesneler i\u00e7eriyorsa (\u00f6rne\u011fin listeler), <code>set()<\/code> veya <code>dict.fromkeys()<\/code> do\u011frudan kullan\u0131lamaz; bu durumda nesneleri hash edilebilir formlara (\u00f6rne\u011fin tuple&#8217;lara) d\u00f6n\u00fc\u015ft\u00fcrmeniz veya \u00f6zel bir d\u00f6ng\u00fc tabanl\u0131 y\u00f6ntem kullanman\u0131z gerekir.<br \/>\n    *   Karma\u015f\u0131k nesneler i\u00e7in, <code>__eq__<\/code> ve <code>__hash__<\/code> metotlar\u0131n\u0131n do\u011fru tan\u0131mlanmas\u0131 veya \u00f6zel kar\u015f\u0131la\u015ft\u0131rma mant\u0131\u011f\u0131na sahip bir d\u00f6ng\u00fc kullan\u0131lmas\u0131 gerekebilir.<\/p>\n<p>Python&#8217;\u0131n esnekli\u011fi ve zengin standart k\u00fct\u00fcphanesi, bu t\u00fcr veri manip\u00fclasyon g\u00f6revlerini verimli ve Pythonik bir \u015fekilde \u00e7\u00f6zmenizi sa\u011flar. \u0130htiya\u00e7lar\u0131n\u0131za en uygun y\u00f6ntemi se\u00e7erek, kodunuzu daha performansl\u0131, okunabilir ve s\u00fcrd\u00fcr\u00fclebilir hale getirebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma\nPython, veri i\u015fleme ve manip\u00fclasyonu i\u00e7in son derece g\u00fc\u00e7l\u00fc ve esnek bir dildir. Geli\u015ftiricile","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1403],"tags":[],"class_list":{"0":"post-37405","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python&#039;da Bir Listeden Benzersiz De\u011ferleri Alma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python&#039;da Bir Listeden Benzersiz De\u011ferleri Alma\" \/>\n<meta property=\"og:description\" content=\"Python&#039;da Bir Listeden Benzersiz De\u011ferleri Alma Python, veri i\u015fleme ve manip\u00fclasyonu i\u00e7in son derece g\u00fc\u00e7l\u00fc ve esnek bir dildir. Geli\u015ftiricile\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-03T12:40:42+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma\",\"datePublished\":\"2026-01-03T12:40:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\"},\"wordCount\":2210,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\",\"name\":\"Python'da Bir Listeden Benzersiz De\u011ferleri Alma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-03T12:40:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python'da Bir Listeden Benzersiz De\u011ferleri Alma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/","og_locale":"tr_TR","og_type":"article","og_title":"Python'da Bir Listeden Benzersiz De\u011ferleri Alma","og_description":"Python'da Bir Listeden Benzersiz De\u011ferleri Alma Python, veri i\u015fleme ve manip\u00fclasyonu i\u00e7in son derece g\u00fc\u00e7l\u00fc ve esnek bir dildir. Geli\u015ftiricile","og_url":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-03T12:40:42+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"17 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma","datePublished":"2026-01-03T12:40:42+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/"},"wordCount":2210,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/","url":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/","name":"Python'da Bir Listeden Benzersiz De\u011ferleri Alma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-03T12:40:42+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/pythonda-bir-listeden-benzersiz-degerleri-alma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python&#8217;da Bir Listeden Benzersiz De\u011ferleri Alma"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37405"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37405\/revisions"}],"predecessor-version":[{"id":37406,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37405\/revisions\/37406"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}