Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Python menghapus Duplikat dari Daftar


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 melalui berbagai cara di mana kita dapat menghapus duplikat dari daftar yang diberikan.

Dalam tutorial ini, Anda akan mempelajari:

Hapus duplikat dari daftar menggunakan Set

Untuk menghapus duplikat dari daftar, Anda dapat menggunakan fungsi bawaan set(). 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 dapatkan kembali hanya elemen yang berbeda. Daftar tersebut diberikan ke fungsi bawaan set(). Nanti daftar akhir ditampilkan menggunakan fungsi built-in list(), seperti yang ditunjukkan pada contoh di bawah ini.

Output yang kita dapatkan adalah elemen yang 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 yang diberikan, Anda dapat menggunakan daftar sementara yang kosong. Untuk itu pertama, Anda harus mengulang 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_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]

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 elemen yang berbeda kepada Anda dalam urutan di mana kuncinya ada.

Mari kita manfaatkan 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 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']

Dari Python 3.5+ dan seterusnya, kita dapat menggunakan dict.fromkeys() reguler untuk mendapatkan elemen 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

Menggunakan for-loop, kami akan menelusuri daftar item untuk menghapus duplikat.

Pertama-tama inisialisasi array ke kosong yaitu myFinallist =[]. Di dalam for-loop, tambahkan centang 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 dimasukkan. 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 pengulangan yang lebih panjang 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 kita 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. Output dikonversi kembali ke format daftar menggunakan metode tolist().

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

Langkah 3) Terakhir cetak daftar seperti gambar di bawah ini:

print(myFinalList)

Kode terakhir 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]

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 harus mengikuti langkah-langkah berikut:

Langkah 1) Impor Modul Panda

import pandas as pd

Langkah 2) Gunakan daftar Anda dengan duplikat di dalam metode unique() seperti yang ditunjukkan di bawah ini:

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

Langkah 3) Cetak daftar seperti di bawah ini:

print(myFinalList)

Kode terakhir 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]

Hapus duplikat menggunakan enumerate() dan pemahaman daftar

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

Setiap elemen diperiksa apakah ada dalam daftar, dan jika ada, elemen tersebut akan 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


Python

  1. Tipe Data Python
  2. Operator Python
  3. Pernyataan lulus python
  4. Argumen Fungsi Python
  5. Python range() Fungsi:Float, List, For loop Contoh
  6. Pemahaman Daftar Python, Tambahkan, Urutkan, Panjang [CONTOH]
  7. Python Average:Cara Menemukan RATA-RATA dari Daftar dengan Python
  8. Daftar Python count() dengan CONTOH
  9. Hapus elemen dari DAFTAR Python [hapus, pop, hapus, del]
  10. Indeks Daftar Python () dengan Contoh