Cara menghapus data duplikat dengan python

Karena daftar python adalah kumpulan dari banyak elemen yang bahkan berisi duplikat, terkadang daftar itu perlu dibuat unik. Di sini, kita akan mempelajari berbagai cara untuk menghapus duplikat dari daftar dengan python. Jadi, mari kita mulai

Apa itu Daftar?

Daftar ini adalah tipe data terpenting dalam bahasa python. Dalam bahasa Python, daftar ditulis sebagai daftar nilai yang dipisahkan koma di dalam tanda kurung siku. Keuntungan paling penting dari daftar adalah bahwa elemen di dalam daftar tidak harus memiliki tipe data yang sama dan pengindeksan negatif.

Juga, semua operasi string juga diterapkan pada tipe data daftar seperti pemotongan, penggabungan, dll. Juga, kita dapat membuat daftar bersarang i. e daftar berisi daftar lain

Contoh

# creating a list of items with different data types 
sample_list = [6,"mark",[A,I]] 
print(sample_list)

 

Keluaran

 [6, mark, ['A', 'I']]
_

 

Apa Perlunya Menghapus Duplikat dari Daftar?

Ada beberapa alasan untuk melakukannya. Duplikat dalam daftar dapat membuat sulit untuk dibaca dan dipahami. Itu juga dapat mengambil ruang yang tidak perlu. Ini adalah alasan utama untuk menghapus duplikat dari daftar python. Selain itu, dapat menyebabkan kebingungan dan kesalahan jika Anda menggunakan daftar untuk operasi tertentu

Misalnya, jika Anda mencoba menemukan elemen unik dalam daftar, duplikat dapat memberikan hasil yang salah. Secara umum, ada baiknya menghapus duplikat dari daftar agar lebih teratur dan lebih mudah digunakan

5 Cara Menghapus Duplikat dari Daftar dengan Python

Ada banyak cara untuk menghapus duplikat dari daftar dengan python. Mari kita pelajari di bawah ini

Metode 1) Metode Naif

Dalam metode ini, kami akan mengulangi seluruh daftar menggunakan for loop. Kami akan membuat daftar baru untuk menyimpan semua nilai unik dan menggunakan operator "not in" dengan python untuk mengetahui apakah elemen saat ini yang kami periksa ada di daftar baru yang telah kami buat. Jika tidak ada, kami akan menambahkannya ke daftar baru dan jika ada, kami akan mengabaikannya

Kode

# removing duplicated from the list using naive methods 

# initializing list 
sam_list = [11, 13, 15, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# remove duplicated from list 
result = [] 
for i in sam_list: 
    if i not in result: 
        result.append(i) 

# printing list after removal 
print ("The list after removing duplicates : " + str(result)) 

 

Keluaran

 The list is: [11, 13, 15, 16, 13, 15, 16, 11]

 The list after removing duplicates: [11, 13, 15, 16]

 

Metode 2) Menggunakan pemahaman daftar

Pemahaman daftar mengacu pada penggunaan for loop untuk membuat daftar dan kemudian menyimpannya di bawah nama variabel. Metode ini mirip dengan pendekatan naif yang telah kita diskusikan di atas tetapi alih-alih menggunakan loop for eksternal, metode ini membuat loop for di dalam kurung siku daftar. Metode ini disebut pemahaman daftar

Kami menggunakan loop for di dalam kurung kurawal dan menambahkan kondisi if yang memungkinkan kami untuk memfilter nilai yang merupakan duplikat

Kode

# removing duplicated from the list using list comprehension 

# initializing list 
sam_list = [11, 13, 15, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

 
# to remove duplicated from list 
result = [] 
[result.append(x) for x in sam_list if x not in result] 

# printing list after removal 
print ("The list after removing duplicates: " + str(result)) 
_

 

Keluaran

 The list is: [11, 13, 15, 16, 13, 15, 16, 11]

 The list after removing duplicates: [11, 13, 15, 16]

 

Metode 3) Menggunakan set()

Metode ini adalah metode paling populer untuk menghapus duplikat dari daftar python. Himpunan adalah struktur data yang sangat mirip dengan daftar. Ini adalah kumpulan item yang dapat diakses menggunakan nama variabel tunggal. Tetapi sifat yang paling penting dari suatu himpunan adalah tidak boleh memiliki nilai duplikat. Bagaimana kita bisa menggunakan ini?

Jika sebuah daftar diketikkan ke sebuah set, yaitu diteruskan sebagai argumen ke metode set(), itu akan secara otomatis membuat sebuah set yang terdiri dari semua elemen dalam daftar tetapi tidak akan menyimpan nilai duplikat. Himpunan yang dihasilkan dapat diubah kembali menjadi daftar menggunakan metode list(). Satu-satunya kekurangan metode ini adalah, Anda kehilangan urutan yang ada di daftar aslinya

Kode

# removing duplicated from the list using set() 

# initializing list 
sam_list = [11, 15, 13, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# to remove duplicated from list 
sam_list = list(set(sam_list)) 

# printing list after removal 
# ordering distorted
print ("The list after removing duplicates: " + str(sam_list)) 
_

 

Keluaran

 The list is: [11, 13, 15, 16, 13, 15, 16, 11]

 The list after removing duplicates: [11, 13, 15, 16]

 

Metode 4) Menggunakan daftar komprehensif + enumerate()

Daftar komprehensif ketika digabungkan dengan fungsi enumerate kita dapat menghapus duplikat dari daftar python. Pada dasarnya dalam metode ini, elemen yang sudah terjadi akan dilewati, dan juga urutannya dipertahankan. Ini dilakukan oleh fungsi enumerate

Dalam kode di bawah ini, variabel n melacak indeks elemen yang diperiksa, dan kemudian dapat digunakan untuk melihat apakah elemen tersebut sudah ada dalam daftar hingga indeks yang ditentukan oleh n. Jika memang ada, kita abaikan atau kita tambahkan ke daftar baru dan ini dilakukan dengan menggunakan pemahaman daftar juga seperti yang kita bahas di atas

Kode

# removing duplicated from the list using list comprehension + enumerate() 

# initializing list 
sam_list = [11, 15, 13, 16, 13, 15, 16, 11] 
print ("The list is: " + str(sam_list)) 

# to remove duplicated from list 
result = [i for n, i in enumerate(sam_list) if i not in sam_list[:n]] 

# printing list after removal 
print ("The list after removing duplicates: " + str(result)) 
_

 

Keluaran

 The list is: [11, 13, 15, 16, 13, 15, 16, 11]

 The list after removing duplicates: [11, 13, 15, 16]

 

Metode 5) Menggunakan koleksi. DipesanDict. fromkeys()

Ini adalah metode tercepat untuk mencapai target menghapus duplikat dari daftar python. Metode ini pertama-tama akan menghapus duplikat dan mengembalikan kamus yang telah diubah menjadi daftar. Juga, metode ini bekerja dengan baik dalam kasus string

Dalam kode di bawah ini ketika kita menggunakan metode fromkeys() itu akan membuat kunci dari semua elemen dalam daftar. Tetapi kunci dalam kamus tidak dapat digandakan, oleh karena itu, metode fromkeys() akan menghapus nilai duplikatnya sendiri

Kode

 [6, mark, ['A', 'I']]
_0

 

Keluaran

 The list is: [11, 13, 15, 16, 13, 15, 16, 11]

 The list after removing duplicates: [11, 13, 15, 16]

 

Ini adalah beberapa metode yang dapat digunakan untuk menghapus duplikat dari daftar python

Kesimpulan

Oleh karena itu, dalam artikel ini, kami belajar tentang daftar python dan berbagai metode untuk menghapus elemen duplikat dari daftar dengan python. Juga, kami mempelajari contoh bersama dengan output untuk metode yang berbeda

Bagaimana Anda menghilangkan duplikat dengan Python?

Pandas drop_duplicates() Sintaks Fungsi . Jika 'terakhir', duplikat baris kecuali yang terakhir akan dihapus. Jika Salah, semua baris duplikat akan dihapus. di tempat. jika Benar, sumber DataFrame diubah dan Tidak ada yang dikembalikan.

Bagaimana Anda menghapus duplikat dari kumpulan data dengan Python?

Pandas drop_duplicates() membantu menghapus duplikat dari Pandas Dataframe In Python. .
bagian. Subset mengambil kolom atau daftar label kolom. .
menjaga. keep adalah mengontrol cara mempertimbangkan nilai duplikat

Bagaimana cara menghapus nilai duplikat?

Untuk menghapus nilai duplikat, klik Data > Alat Data > Hapus Duplikat . Untuk menyorot nilai unik atau duplikat, gunakan perintah Pemformatan Bersyarat di grup Gaya pada tab Beranda.

Bagaimana cara menghapus duplikat di Python menggunakan panda?

Panda DataFrame Metode drop_duplicates() . Gunakan parameter subset jika hanya beberapa kolom tertentu yang harus dipertimbangkan saat mencari duplikat.