Bir Listeden Yinelenenler Nasıl Kaldırılır Python
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.
Burada belirli bir listedeki kopyaları kaldırabileceğimiz farklı yollardan bahsedeceğiz. Python.
Yöntem 1) Set'i kullanarak kopyaları listeden kaldırın
Yinelenenleri listeden kaldırmak için yerleşik işlevi kullanabilirsiniz. set()
. set() yönteminin özelliği, farklı öğeler döndürmesidir.
Bir listemiz var: [1,1,2,3,2,2,4,5,6,2,1]. Listede, yalnızca farklı öğeleri kaldırmamız ve geri almamız gereken birçok kopya var. Liste yetkililere verildi set()
yerleşik işlev. Later son liste, kullanılarak görüntülenir. list()
Aşağıdaki örnekte gösterildiği gibi yerleşik işlev.
Aldığımız çıktı, tüm yinelenen öğelerin ortadan kaldırıldığı 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
Belirli bir dosyadaki kopyaları kaldırmak için list
boş bir geçici listeden yararlanabilirsiniz. Bunun için öncelikle kopyaları olan listede dolaşmanız ve benzersiz öğeleri geçici listeye eklemeniz gerekecek. Later geçici liste ana listeye atanır.
Örnek E-posta
İşte geçici listeyi 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 listedeki kopyaları içe aktararak kaldırabiliriz OrderedDict
koleksiyonlardan. Python2.7'den itibaren mevcuttur. OrderedDict, farklı öğeleri anahtarın mevcut olduğu sıraya göre size döndürmeyle ilgilenir.
Bir listeden yararlanalım ve kullanalım fromkeys()
Listeden benzersiz öğeleri almak için OrderedDict'te mevcut olan yöntem.
Faydalanmak OrderedDict.fromkey()
yöntemiyle, OrderedDict'i aşağıda gösterildiği gibi koleksiyonlardan içe aktarmanız gerekir:
from collections import OrderedDict
İşte kullanarak kopyaları kaldırmak için bir örnek: OrderedDict.fromkeys()
yöntemi.
Ö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']
Konum Python 3.5+ ve sonrasında normal kullanımdan yararlanabiliriz dict.fromkeys()
listeden farklı öğeleri almak için. dict.fromkeys()
yöntemler benzersiz anahtarlar döndürür ve yinelenen değerlerden kurtulmaya yardımcı olur.
Çalışmasını gösteren bir örnek dict.fromkeys()
Benzersiz öğelerin verileceği liste aşağıdaki gibidir:
Ö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.
İlk önce diziyi boşaltmak için başlatın, yani myFinallist = []
.For döngüsünün içine, listedeki öğelerin dizide mevcut olup olmadığını kontrol edin myFinallist
. Öğeler mevcut değilse, öğeyi kullanarak myFinallist dizisine ekleyin. append()
yöntemi.
Yani yinelenen öğeyle karşılaşıldığında bu öğe myFinallist dizisinde zaten mevcut olacak ve eklenmeyecektir. Şimdi aşağıdaki örnekte de aynısını 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 benzersiz() yöntemini kullanma.
Gibi bir yöntem unique()
Numpy modülünden kopyalananları verilen listeden kaldırmamıza yardımcı olabilir.
Numpy'nin ilk içe aktarma numpy modülüyle çalışmak için şu adımları izlemeniz gerekir:
1. Adım) Numpy modülünü içe aktar
import numpy as np
) 2 Adım Listenizi aşağıda gösterildiği gibi benzersiz yöntemin içindeki kopyalarla birlikte kullanın. Çıktı kullanılarak tekrar liste formatına dönüştürülür. tolist()
yöntemi.
myFinalList = np.unique(my_list).tolist()
) 3 Adım Son olarak listeyi aşağıda gösterildiği gibi 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
Pandalar modülünde bir unique()
Bize verilen listedeki benzersiz unsurları verecek olan yöntem.
Pandas modülüyle çalışmak için şu adımları izlemeniz gerekir:
) 1 Adım Pandalar modülünü içe aktar
import pandas as pd
) 2 Adım Listenizi içinde yinelenen kopyalar olacak şekilde kullanın unique()
aşağıda gösterildiği gibi yöntem:
myFinalList = pd.unique(my_list).tolist()
) 3 Adım Listeyi aşağıda gösterildiği gibi 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 numaralandırma kombinasyonu kullanılır. Enumerate, listedeki her öğeye sayaç içeren bir nesne döndürür. Örneğin (0,1), (1,2) vb. Burada ilk değer indeks, ikinci değer ise liste öğesidir. K
Her öğenin listede var olup olmadığı kontrol edilir, varsa listeden çıkarı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]
ÖZET
- Yinelenenleri listeden kaldırmak için yerleşik işlevi kullanabilirsiniz.
set()
. Uzmanlık alanıset()
yönteminin özelliği, farklı öğeler döndürmesidir. - İçe aktararak verilen listeden kopyaları kaldırabilirsiniz
OrderedDictfrom
koleksiyonlar. Python2.7'den itibaren mevcuttur.OrderedDictdict
farklı öğeleri anahtarın bulunduğu sıraya göre size geri döndürmeyle ilgilenir. - Kopyaları kaldırmak için öğeler listesinde dolaşacağımız bir for döngüsünden yararlanabilirsiniz.
- Gibi bir yöntem
unique()
Numpy modülünden kopyalananları verilen listeden kaldırmamıza yardımcı olabilir. - Pandalar modülünde bir
unique()
Bize verilen listedeki benzersiz unsurları verecek olan yöntem. - Liste kavrama ve numaralandırma kombinasyonu, yinelenen öğeleri listeden kaldırmak için kullanılır. Enumerate, listedeki her öğeye sayaç içeren bir nesne döndürür.