Python Programming

Python Listelerinden Yinelenenleri Etkin Bir Şekilde Silme

Spread the love

Python listeleri inanılmaz derecede çok yönlüdür, ancak yinelenen öğeleri verimli bir şekilde işlemek yaygın bir programlama görevidir. Bu makale, bir Python listesinden yinelenenleri kaldırmak için iki etkili yöntemi ele almaktadır: hız için yerleşik set() fonksiyonundan yararlanma ve öğelerin orijinal sırasını korumak için OrderedDict kullanma.

İçerik Tablosu

set() Metoduyla Yinelenenleri Kaldırma

Yinelenenleri kaldırmanın en hızlı yolu set() fonksiyonunu kullanmaktır. Kümeler, benzersiz öğelerin sırasız koleksiyonlarıdır. Bir listeyi kümeye dönüştürmek, yinelenenleri otomatik olarak ortadan kaldırır. Ancak, bu yöntem orijinal sırayı değiştirir.


my_list = [1, 2, 2, 3, 4, 4, 5, 1]

# Yinelenenleri kaldırmak için listeyi kümeye dönüştür
unique_elements = set(my_list)

# Kümeyi tekrar listeye dönüştür (sıra değişebilir)
unique_list = list(unique_elements)

print(f"Orijinal liste: {my_list}")
print(f"Yinelenenler kaldırılmış liste: {unique_list}")

Çıktı:


Orijinal liste: [1, 2, 2, 3, 4, 4, 5, 1]
Yinelenenler kaldırılmış liste: [1, 2, 3, 4, 5]

Öğe sırasındaki olası değişikliğe dikkat edin.

OrderedDict ile Sırayı Koruma

Orijinal sırayı korurken yinelenenleri kaldırmak için, collections modülünden OrderedDict kullanın. OrderedDict ekleme sırasını korur.


from collections import OrderedDict

my_list = [1, 2, 2, 3, 4, 4, 5, 1]

# Sırayı koruyarak yinelenenleri kaldırmak için OrderedDict kullanın
unique_list_ordered = list(OrderedDict.fromkeys(my_list))

print(f"Orijinal liste: {my_list}")
print(f"Yinelenenler kaldırılmış, sıra korunmuş liste: {unique_list_ordered}")

Çıktı:


Orijinal liste: [1, 2, 2, 3, 4, 4, 5, 1]
Yinelenenler kaldırılmış, sıra korunmuş liste: [1, 2, 3, 4, 5]

Sıra, giriş listesine özdeştir.

En İyi Yaklaşımı Seçme

Sıra önemli değilse, set() metodu üstün hız sunar. Orijinal sırayı korumak çok önemliyse, son derece büyük listeler için biraz daha yavaş olsa bile OrderedDict daha iyi bir seçimdir. Çoğu uygulama için performans farkı ihmal edilebilir olacaktır. İhtiyaçlarınıza en uygun yöntemi seçin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir