Bir Listeden Yinelenenler Nasıl Kaldırılır Python
⚡ Akıllı Özet
Yinelenenleri kaldırma Python Liste oluşturma işlemi, set(), dict.fromkeys(), döngüler, liste anlama ifadeleri ve NumPy ve Pandas'tan gelen kütüphane yöntemleri de dahil olmak üzere çeşitli yerleşik yaklaşımlarla yapılabilir; bunların her biri sıralamanın korunmasını hız ile dengelemeyi amaçlar.
Python Yinelenenleri Listeden Kaldırma
Liste, farklı içerikleri içeren bir kaptır Python tamsayılar, kelimeler, değerler vb. olabilen nesneler. Diğer programlama dillerindeki bir dizinin eşdeğeridir.
Bu yazıda, verilen bir listeden yinelenen öğeleri kaldırmanın farklı yollarını inceleyeceğiz. Python.
Yöntem 1) Set'i kullanarak kopyaları listeden kaldırın
Bir listeden yinelenen öğeleri kaldırmak için, yerleşik set() fonksiyonunu kullanabilirsiniz. set() yönteminin özelliği, benzersiz öğeleri döndürmesidir.
Elimizde [1,1,2,3,2,2,4,5,6,2,1] şeklinde bir liste var. Listede birçok tekrar eden eleman var ve bunları kaldırıp yalnızca benzersiz elemanları geri almamız gerekiyor. Liste, set() yerleşik fonksiyonuna veriliyor. Later Son liste, list() yerleşik fonksiyonu kullanılarak görüntülenir.
Elde ettiğimiz çıktı, tüm yinelenen öğelerin elendiği, birbirinden farklı öğelerdir.
Örnek E-posta
my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))
Çıktı:
[1, 2, 3, 4, 5, 6]
Yöntem 2) Geçici Listeyi Kullanma
Verilen bir listeden yinelenen öğeleri kaldırmak için boş bir geçici liste kullanabilirsiniz. Bunun için öncelikle yinelenen öğeleri içeren listeyi döngüye almanız ve benzersiz öğeleri geçici listeye eklemeniz gerekecektir. Later geçici liste ana listeye atanır.
Örnek E-posta
İşte geçici bir liste kullanan çalışan bir örnek.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2] print("List Before ", my_list) temp_list = [] for i in my_list: if i not in temp_list: temp_list.append(i) my_list = temp_list print("List After removing duplicates ", my_list)
Çıktı:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Yöntem 3) Dict'i Kullanma
Verilen listeden yinelenen öğeleri kaldırmak için, collections'tan OrderedDict'i içe aktarabiliriz. Bu, Python 2.7 ve sonrasında kullanılabilir. OrderedDict, anahtarın bulunduğu sırayla benzersiz öğeleri size döndürmeyi sağlar.
Şimdi bir liste kullanalım ve OrderedDict'te bulunan fromkeys() yöntemini kullanarak listedeki benzersiz öğeleri alalım.
OrderedDict.fromkeys() yöntemini kullanmak için, aşağıdaki gibi collections'tan OrderedDict'i içe aktarmanız gerekir:
from collections import OrderedDict
İşte OrderedDict.fromkeys() yöntemini kullanarak yinelenen kayıtları kaldırmaya yönelik bir örnek.
Örnek E-posta
from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list))
Çıktı:
['a', 'x', 'y', 'b', 'c']
Başlangıç Python 3.5 ve üzeri sürümlerde, listeden benzersiz öğeleri almak için normal `dict.fromkeys()` yöntemini kullanabiliriz. `dict.fromkeys()` yöntemi benzersiz anahtarlar döndürür ve yinelenen değerlerden kurtulmaya yardımcı olur.
Aşağıda, `dict.fromkeys()` fonksiyonunun bir liste üzerinde benzersiz öğeleri nasıl verdiğini gösteren bir örnek yer almaktadır:
Örnek E-posta
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
Çıktı:
['a', 'x', 'y', 'b', 'c']
Yöntem 4) For döngüsünü kullanma
kullanma döngü içinkopyaları kaldırmak için öğeler listesinde dolaşacağız.
Öncelikle diziyi boş olarak başlatın, yani myFinallist = []. For döngüsünün içinde, listedeki öğelerin myFinallist dizisinde olup olmadığını kontrol edin. Öğeler mevcut değilse, append() yöntemini kullanarak öğeyi myFinallist dizisine ekleyin.
Dolayısıyla, aynı öğe tekrarlandığında, zaten myFinallist dizisinde mevcut olacağından eklenmeyecektir. Şimdi bunu aşağıdaki örnekte kontrol edelim:
Örnek E-posta
my_list = [1,2,2,3,1,4,5,1,2,6] myFinallist = [] for i in my_list: if i not in myFinallist: myFinallist.append(i) print(list(myFinallist))
Çıktı:
[1, 2, 3, 4, 5, 6]
Yöntem 5) Liste kavramayı kullanma
Liste anlayışları Python Halihazırda oluşturulmuş dizileri kullanarak yeni diziler (listeler, sözlükler vb.) oluşturmak için kullanılan işlevler. Bu, daha uzun döngüleri azaltmanıza ve kodunuzun okunmasını ve bakımını kolaylaştırmanıza yardımcı olur.
Verilen listeden kopyaları kaldırmak için liste kavramayı kullanalım.
Örnek E-posta
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [] [my_finallist.append(n) for n in my_list if n not in my_finallist] print(my_finallist)
Çıktı:
[1, 2, 3, 4, 5, 6]
Yöntem 6) NumPy'nin unique() yöntemini kullanma
NumPy modülündeki unique() metodu, verilen listeden yinelenen öğeleri kaldırmamıza yardımcı olabilir.
NumPy ile çalışmak için öncelikle numpy modülünü içe aktarın:
) 1 Adım NumPy modülünü içe aktarın
import numpy as np
) 2 Adım Yinelenen öğeleri içeren listenizi unique() metodu içinde kullanın. Çıktı, tolist() metodu kullanılarak tekrar listeye dönüştürülür.
myFinalList = np.unique(my_list).tolist()
) 3 Adım Son olarak listeyi yazdırın:
print(myFinalList)
Çıktı ile son kod aşağıdaki gibidir:
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
Çıktı:
[1, 2, 3, 4, 5, 6]
Yöntem 7) Pandas yöntemlerini kullanma
Pandas modülü, bize verilen listedeki benzersiz öğeleri verecek benzersiz () yöntemine sahiptir.
Pandas modülüyle çalışmak için:
) 1 Adım Pandalar modülünü içe aktar
import pandas as pd
) 2 Adım Yinelenen öğeleri içeren listenizi unique() metodu içinde kullanın:
myFinalList = pd.unique(my_list).tolist()
) 3 Adım Listeyi yazdırın:
print(myFinalList)
Çıktı ile son kod aşağıdaki gibidir:
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
Çıktı:
[1, 2, 3, 4, 5, 6]
Yöntem 8) Enumerate() ve liste kavramayı kullanma
Burada, yinelenen öğeleri kaldırmak için liste anlama ve `enumerate()` fonksiyonlarının kombinasyonunu kullanıyoruz. `enumerate`, listedeki her öğe için bir sayaç içeren bir nesne döndürür. Örneğin (0,1), (1,2) vb. Burada ilk değer indeksi, ikinci değer ise liste öğesini temsil eder.
Her bir öğenin listede olup olmadığı kontrol edilir ve varsa listeden kaldırılır.
Örnek E-posta
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] print(list(my_finallist))
Çıktı:
[1, 2, 3, 4, 5, 6]

