Python menghapus Duplikat dari Daftar

Daftar Isi:

Anonim

Daftar adalah wadah yang berisi objek Python yang berbeda, yang bisa berupa bilangan bulat, kata, nilai, dll. Ini setara dengan array dalam bahasa pemrograman lain.

Jadi di sini akan membahas berbagai cara di mana kita dapat menghapus duplikat dari daftar yang diberikan.

Dalam tutorial ini, Anda akan mempelajari:

  • Hapus duplikat dari daftar menggunakan Set
  • Hapus Duplikat dari daftar menggunakan Daftar Sementara.
  • Hapus duplikat dari daftar menggunakan Dict
  • Hapus duplikat dari daftar menggunakan for-loop
  • Hapus duplikat dari daftar menggunakan pemahaman daftar
  • Hapus duplikat dari daftar menggunakan metode Numpy unique ().
  • Hapus duplikat dari daftar menggunakan metode Pandas
  • Hapus duplikat menggunakan enumerate () dan pemahaman daftar

Hapus duplikat dari daftar menggunakan Set

Untuk menghapus duplikat dari daftar, Anda dapat menggunakan set fungsi bawaan (). Keistimewaan metode set () adalah mengembalikan elemen yang berbeda.

Kami memiliki daftar: [1,1,2,3,2,2,4,5,6,2,1]. Daftar ini memiliki banyak duplikat yang perlu kita hapus dan hanya mengembalikan elemen yang berbeda. Daftar diberikan ke fungsi set () built-in. Nanti daftar terakhir ditampilkan menggunakan fungsi built-in list (), seperti yang ditunjukkan pada contoh di bawah ini.

Output yang kami dapatkan adalah elemen berbeda di mana semua elemen duplikat dihilangkan.

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]

Hapus Duplikat dari daftar menggunakan Daftar Sementara

Untuk menghapus duplikat dari daftar tertentu, Anda dapat menggunakan daftar sementara yang kosong. Untuk yang pertama, Anda harus mengulang melalui daftar yang memiliki duplikat dan menambahkan item unik ke daftar sementara. Nanti daftar sementara ditetapkan ke daftar utama.

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_listprint("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]

Hapus duplikat dari daftar menggunakan Dict

Kami dapat menghapus duplikat dari daftar yang diberikan dengan mengimpor OrderedDict dari koleksi. Ini tersedia dari python2.7 dan seterusnya. OrderedDict menangani pengembalian Anda elemen-elemen berbeda dalam urutan di mana kuncinya ada.

Mari kita gunakan daftar dan gunakan metode fromkeys () yang tersedia di OrderedDict untuk mendapatkan elemen unik dari daftar.

Untuk menggunakan metode OrderedDict.fromkey (), Anda harus mengimpor OrderedDict dari koleksi, seperti yang ditunjukkan di bawah ini:

from collections import OrderedDict

Berikut adalah contoh untuk menghapus duplikat menggunakan metode OrderedDict.fromkeys ().

from collections import OrderedDictmy_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']

Dari Python 3.5+ dan seterusnya, kita dapat menggunakan dict.fromkeys () biasa untuk mendapatkan elemen yang berbeda dari daftar. Metode dict.fromkeys () 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:

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']

Hapus duplikat dari daftar menggunakan for-loop

Dengan menggunakan for-loop, kita akan menelusuri daftar item untuk menghapus duplikat.

Pertama inisialisasi array menjadi kosong yaitu myFinallist = []. Di dalam for-loop, tambahkan periksa apakah item dalam daftar ada di 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 disisipkan. Sekarang mari kita periksa hal yang sama pada contoh di bawah ini:

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]

Hapus duplikat dari daftar menggunakan pemahaman daftar

Pemahaman daftar adalah fungsi Python yang digunakan untuk membuat urutan baru (seperti daftar, kamus, dll.) Menggunakan urutan yang telah dibuat. Ini membantu Anda mengurangi loop yang lebih lama dan membuat kode Anda lebih mudah dibaca dan dipelihara.

Mari kita gunakan pemahaman daftar untuk menghapus duplikat dari daftar yang diberikan.

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]

Hapus duplikat dari daftar menggunakan metode Numpy unique ().

Metode unique () dari modul Numpy dapat membantu kami menghapus duplikat dari daftar yang diberikan.

Untuk bekerja dengan modul numpy impor pertama Numpy, Anda harus 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 diubah kembali ke format daftar menggunakan metode tolist ().

myFinalList = np.unique(my_list).tolist()

Langkah 3) Terakhir cetak daftar seperti yang ditunjukkan di bawah ini:

print(myFinalList)

Kode terakhir dengan keluarannya adalah sebagai berikut:

import numpy as npmy_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]

Hapus duplikat dari daftar menggunakan metode Pandas

Modul Pandas memiliki metode unique () 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 metode duplikat di dalam unique () seperti yang ditunjukkan di bawah ini:

myFinalList = pd.unique(my_list).tolist()

Langkah 3) Cetak daftar seperti yang ditunjukkan di bawah ini:

print(myFinalList)

Kode terakhir dengan keluarannya adalah sebagai berikut:

import pandas as pdmy_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]

Hapus duplikat menggunakan enumerate () dan pemahaman daftar

Di sini kombinasi pemahaman daftar dan enumerate untuk menghapus elemen duplikat. Enumerate mengembalikan objek dengan penghitung untuk setiap elemen dalam daftar. Misalnya (0,1), (1,2) dll. Di sini nilai pertama adalah indeks, dan nilai kedua adalah item daftar. W

Setiap elemen diperiksa jika ada dalam daftar, dan jika ada, itu dihapus dari daftar.

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 set fungsi bawaan (). Keistimewaan metode set () adalah ia mengembalikan elemen yang berbeda.
  • Anda dapat menghapus duplikat dari daftar yang diberikan dengan mengimpor OrderedDict dari koleksi. Ini tersedia dari python2.7 dan seterusnya. OrderedDictdict akan menangani pengembalian elemen berbeda dalam urutan tempat kunci ada.
  • Anda dapat menggunakan for-loop yang akan menelusuri daftar item untuk menghapus duplikat.
  • Metode unique () dari modul Numpy dapat membantu kami menghapus duplikat dari daftar yang diberikan.
  • Modul Pandas memiliki metode unique () yang akan memberi kita elemen unik dari daftar yang diberikan.
  • Kombinasi pemahaman daftar dan enumerate digunakan untuk menghapus elemen duplikat dari daftar. Enumerate mengembalikan objek dengan penghitung untuk setiap elemen dalam daftar.