Cara Menghapus Duplikat dari Daftar di Python
Python hapus Duplikat dari Daftar
Daftar adalah wadah yang berisi berbagai hal Python objek, yang bisa berupa bilangan bulat, kata, nilai, dll. Ini setara dengan array dalam bahasa pemrograman lain.
Jadi di sini akan membahas berbagai cara untuk menghapus duplikat dari daftar tertentu Python.
Metode 1) Hapus duplikat dari daftar menggunakan Set
Untuk menghapus duplikat dari daftar, Anda dapat menggunakan fungsi bawaan set()
. Keistimewaan metode set() adalah ia mengembalikan elemen yang berbeda.
Kami memiliki daftarnya: [1,1,2,3,2,2,4,5,6,2,1]. Daftar ini memiliki banyak duplikat yang perlu kita hapus dan dapatkan kembali hanya elemen yang berbeda. Daftar tersebut diberikan kepada set()
fungsi bawaan. Later daftar akhir ditampilkan menggunakan list()
fungsi bawaan, seperti yang ditunjukkan pada contoh di bawah ini.
Output yang kita dapatkan adalah elemen berbeda dimana semua elemen duplikat dihilangkan.
Example
my_list = [1,1,2,3,2,2,4,5,6,2,1] my_final_list = set(my_list) print(list(my_final_list))
Keluaran:
[1, 2, 3, 4, 5, 6]
Metode 2) Menggunakan Daftar Sementara
Untuk menghapus duplikat dari yang diberikan list
, Anda dapat menggunakan daftar sementara yang kosong. Untuk pertama-tama, Anda harus menelusuri daftar yang memiliki duplikat dan menambahkan item unik ke daftar sementara. Later daftar sementara ditugaskan ke daftar utama.
Example
Berikut adalah contoh kerja menggunakan daftar sementara.
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)
Keluaran:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Metode 3) Menggunakan Dikt
Kami dapat menghapus duplikat dari daftar yang diberikan dengan mengimpor OrderedDict
dari koleksi. Ini tersedia mulai python2.7 dan seterusnya. OrderedDict menangani pengembalian elemen-elemen berbeda kepada Anda sesuai urutan keberadaan kuncinya.
Mari kita manfaatkan daftar dan gunakan fromkeys()
metode yang tersedia di OrderedDict untuk mendapatkan elemen unik dari daftar.
Untuk memanfaatkan OrderedDict.fromkey()
metode, Anda harus mengimpor OrderedDict dari koleksi, seperti yang ditunjukkan di bawah ini:
from collections import OrderedDict
Berikut adalah contoh untuk menghapus duplikat menggunakan OrderedDict.fromkeys()
Metode.
Example
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))
Keluaran:
['a', 'x', 'y', 'b', 'c']
Mulai dari Python 3.5+ dan seterusnya, kita bisa menggunakan yang reguler dict.fromkeys()
untuk mendapatkan elemen berbeda dari daftar. Itu dict.fromkeys()
metode mengembalikan kunci yang unik dan membantu menghilangkan nilai duplikat.
Contoh yang menunjukkan cara kerja dict.fromkeys()
pada daftar untuk memberikan item unik adalah sebagai berikut:
Example
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
Keluaran:
['a', 'x', 'y', 'b', 'c']
Metode 4) Menggunakan for-loop
Menggunakan untuk-loop, kami akan melintasi daftar item untuk menghapus duplikat.
Pertama inisialisasi array untuk mengosongkan yaitu myFinallist = []
.Di dalam for-loop, tambahkan pemeriksaan apakah item dalam daftar ada dalam array myFinallist
. Jika item tidak ada, tambahkan item ke array myFinallist menggunakan append()
Metode.
Jadi setiap kali item duplikat ditemukan, item tersebut sudah ada di array myFinallist dan tidak akan dimasukkan. Sekarang mari kita periksa hal yang sama pada contoh di bawah ini:
Example
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))
Keluaran:
[1, 2, 3, 4, 5, 6]
Metode 5) Menggunakan pemahaman daftar
Pemahaman daftar adalah Python fungsi yang digunakan untuk membuat sequence baru (seperti daftar, kamus, dll) menggunakan sequence yang sudah dibuat. Ini membantu Anda mengurangi loop yang lebih panjang dan membuat kode Anda lebih mudah dibaca dan dipelihara.
Mari kita manfaatkan pemahaman daftar untuk menghapus duplikat dari daftar yang diberikan.
Example
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)
Keluaran:
[1, 2, 3, 4, 5, 6]
Metode 6) Menggunakan metode Numpy unik().
Metode unique()
dari modul Numpy dapat membantu kami menghapus duplikat dari daftar yang diberikan.
Untuk bekerja dengan modul numpy impor pertama Numpy, Anda perlu mengikuti langkah-langkah berikut:
Langkah 1) Impor modul Numpy
import numpy as np
Langkah 2) Gunakan daftar Anda dengan duplikat di dalam metode unik seperti yang ditunjukkan di bawah ini. Outputnya dikonversi kembali ke format daftar menggunakan tolist()
Metode.
myFinalList = np.unique(my_list).tolist()
Langkah 3) Terakhir cetak daftar seperti yang ditunjukkan di bawah ini:
print(myFinalList)
Kode akhir dengan output adalah sebagai berikut:
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
Keluaran:
[1, 2, 3, 4, 5, 6]
Metode 7) Menggunakan metode Pandas
Modul Pandas memiliki a unique()
metode yang akan memberi kita elemen unik dari daftar yang diberikan.
Untuk bekerja dengan modul Pandas, Anda perlu mengikuti langkah-langkah berikut:
Langkah 1) Impor modul Pandas
import pandas as pd
Langkah 2) Gunakan daftar Anda dengan duplikat di dalamnya unique()
caranya seperti gambar di bawah ini:
myFinalList = pd.unique(my_list).tolist()
Langkah 3) Cetak daftar seperti yang ditunjukkan di bawah ini:
print(myFinalList)
Kode akhir dengan output adalah sebagai berikut:
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
Keluaran:
[1, 2, 3, 4, 5, 6]
Metode 8) Menggunakan enumerate() dan pemahaman daftar
Di sini kombinasi pemahaman daftar dan enumerasi untuk menghapus elemen duplikat. Enumerate mengembalikan objek dengan counter untuk setiap elemen dalam daftar. Misalnya (0,1), (1,2) dst. Di sini nilai pertama adalah indeks, dan nilai kedua adalah item daftar. W
Setiap elemen diperiksa apakah ada dalam daftar, dan jika ada, maka akan dihapus dari daftar.
Example
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))
Keluaran:
[1, 2, 3, 4, 5, 6]
Ringkasan
- Untuk menghapus duplikat dari daftar, Anda dapat menggunakan fungsi bawaan
set()
. Keistimewaan dariset()
metodenya adalah mengembalikan elemen yang berbeda. - Anda dapat menghapus duplikat dari daftar yang diberikan dengan mengimpor
OrderedDictfrom
koleksi. Ini tersedia mulai python2.7 dan seterusnya.OrderedDictdict
menangani pengembalian elemen-elemen berbeda kepada Anda sesuai urutan keberadaan kuncinya. - Anda dapat menggunakan for-loop yang akan kita lintasi pada daftar item untuk menghapus duplikat.
- Metode
unique()
dari modul Numpy dapat membantu kami menghapus duplikat dari daftar yang diberikan. - Modul Pandas memiliki a
unique()
metode yang akan memberi kita elemen unik dari daftar yang diberikan. - Kombinasi pemahaman daftar dan enumerasi digunakan untuk menghapus elemen duplikat dari daftar. Enumerate mengembalikan objek dengan counter untuk setiap elemen dalam daftar.