Senarai adalah wadah yang mengandungi objek Python yang berbeza, yang berupa bilangan bulat, kata, nilai, dan lain-lain. Ini setara dengan larik dalam bahasa pengaturcaraan lain.
Jadi di sini akan melalui pelbagai cara di mana kita dapat membuang pendua dari senarai yang diberikan.
Dalam tutorial ini, anda akan belajar:
- Keluarkan pendua dari senarai menggunakan Set
- Buang Pendua dari senarai menggunakan Daftar Sementara.
- Keluarkan pendua dari senarai menggunakan Dict
- Keluarkan pendua dari senarai menggunakan for-loop
- Keluarkan pendua dari senarai menggunakan pemahaman senarai
- Keluarkan pendua dari senarai menggunakan kaedah Numpy unique ().
- Keluarkan pendua dari senarai menggunakan kaedah Pandas
- Keluarkan pendua menggunakan bilangan () dan pemahaman senarai
Keluarkan pendua dari senarai menggunakan Set
Untuk mengeluarkan pendua dari senarai, anda boleh menggunakan set fungsi bawaan (). Keistimewaan kaedah set () adalah bahawa ia mengembalikan elemen yang berbeza.Kami mempunyai senarai: [1,1,2,3,2,2,4,4,6,6,1,1]. Senarai ini mempunyai banyak pendua yang perlu kita hapus dan dapatkan kembali unsur-unsur yang berbeza. Senarai diberikan kepada fungsi bawaan set (). Kemudian senarai akhir dipaparkan menggunakan fungsi built-in list (), seperti yang ditunjukkan dalam contoh di bawah.
Keluaran yang kita dapat adalah elemen yang berbeza di mana semua unsur pendua dihapuskan.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Buang Pendua dari senarai menggunakan Daftar Sementara
Untuk membuang pendua dari senarai tertentu, anda boleh menggunakan senarai sementara yang kosong. Untuk yang pertama, anda perlu melihat senarai yang mempunyai pendua dan menambahkan item unik ke senarai sementara. Kemudian senarai sementara ditugaskan ke senarai utama.
Berikut adalah contoh yang berfungsi menggunakan senarai 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)
Pengeluaran:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Keluarkan pendua dari senarai menggunakan Dict
Kita boleh membuang pendua dari senarai yang diberikan dengan mengimport OrderedDict dari koleksi. Ia boleh didapati dari python2.7 dan seterusnya. OrderedDict mengurus mengembalikan unsur-unsur yang berbeza mengikut urutan kuncinya.
Mari kita menggunakan senarai dan menggunakan kaedah fromkeys () yang tersedia di OrderedDict untuk mendapatkan elemen unik dari senarai.
Untuk menggunakan kaedah OrderedDict.fromkey (), anda harus mengimport OrderedDict dari koleksi, seperti gambar di bawah:
from collections import OrderedDict
Berikut adalah contoh untuk membuang pendua menggunakan kaedah 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))
Pengeluaran:
['a', 'x', 'y', 'b', 'c']
Dari Python 3.5+ dan seterusnya, kita dapat menggunakan dict.fromkeys biasa () untuk mendapatkan elemen yang berbeza dari senarai. Kaedahict.fromkeys () mengembalikan kunci yang unik dan membantu menghilangkan nilai pendua.
Contoh yang memperlihatkan cara kerja dict.fromkeys () dalam senarai untuk memberikan item unik adalah seperti berikut:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Pengeluaran:
['a', 'x', 'y', 'b', 'c']
Keluarkan pendua dari senarai menggunakan for-loop
Dengan menggunakan for-loop, kami akan melintasi senarai item untuk membuang pendua.
Mula-mula mulakan array untuk kosong iaitu myFinallist = []. Di dalam for-loop, tambahkan periksa sama ada item dalam senarai terdapat dalam array myFinallist. Sekiranya item tidak ada, tambahkan item ke array myFinallist menggunakan lampiran () kaedah.
Oleh itu, setiap kali item pendua ditemui, ia sudah ada dalam array myFinallist dan tidak akan dimasukkan. Mari kita periksa yang sama dalam contoh di bawah:
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))
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Keluarkan pendua dari senarai menggunakan pemahaman senarai
Pemahaman senarai adalah fungsi Python yang digunakan untuk membuat urutan baru (seperti senarai, kamus, dll.) Menggunakan urutan yang telah dibuat. Ini membantu anda mengurangkan gelung yang lebih lama dan menjadikan kod anda lebih mudah dibaca dan dijaga.
Mari kita gunakan pemahaman senarai untuk membuang pendua dari senarai 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)
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Keluarkan pendua dari senarai menggunakan kaedah Numpy unique ().
Kaedah unik () dari modul Numpy dapat membantu kami membuang pendua dari senarai yang diberikan.
Untuk bekerja dengan modul Numpy import pertama Numpy, anda perlu mengikuti langkah-langkah berikut:
Langkah 1 ) Import modul Numpy
import numpy as np
Langkah 2) Gunakan senarai anda dengan pendua dalam kaedah unik seperti yang ditunjukkan di bawah. Output ditukar kembali ke format senarai menggunakan kaedah tolist ().
myFinalList = np.unique(my_list).tolist()
Langkah 3) Akhirnya cetak senarai seperti di bawah:
print(myFinalList)
Kod akhir dengan output adalah seperti berikut:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Keluarkan pendua dari senarai menggunakan kaedah Pandas
Modul Pandas mempunyai kaedah unik () yang akan memberi kita elemen unik dari senarai yang diberikan.
Untuk bekerja dengan modul Pandas, anda perlu mengikuti langkah-langkah berikut:
Langkah 1) Import modul Pandas
import pandas as pd
Langkah 2) Gunakan senarai anda dengan pendua dalam kaedah unik () seperti yang ditunjukkan di bawah:
myFinalList = pd.unique(my_list).tolist()
Langkah 3) Cetak senarai seperti di bawah:
print(myFinalList)
Kod akhir dengan output adalah seperti berikut:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Keluarkan pendua menggunakan bilangan () dan pemahaman senarai
Di sini gabungan pemahaman senarai dan sebutkan untuk menghilangkan unsur pendua. Enumerate mengembalikan objek dengan pembilang ke setiap elemen dalam senarai. Contohnya (0,1), (1,2) dll. Di sini nilai pertama adalah indeks, dan nilai kedua adalah item senarai. W
Setiap elemen diperiksa jika ada dalam senarai, dan jika ada, elemen tersebut akan dikeluarkan dari senarai.
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))
Pengeluaran:
[1, 2, 3, 4, 5, 6]
Ringkasan
- Untuk mengeluarkan pendua dari senarai, anda boleh menggunakan set fungsi bawaan (). Keistimewaan kaedah set () adalah bahawa ia mengembalikan elemen yang berbeza.
- Anda boleh membuang pendua dari senarai yang diberikan dengan mengimport koleksi OrderedDictfrom. Ia boleh didapati dari python2.7 dan seterusnya. OrderedDictdict mengurus mengembalikan unsur-unsur yang berbeza mengikut urutan kuncinya.
- Anda boleh menggunakan for-loop bahawa kami akan melintasi senarai item untuk membuang pendua.
- Kaedah unik () dari modul Numpy dapat membantu kami membuang pendua dari senarai yang diberikan.
- Modul Pandas mempunyai kaedah unik () yang akan memberi kita elemen unik dari senarai yang diberikan.
- Kombinasi pemahaman senarai dan penghitungan digunakan untuk menghilangkan unsur pendua dari senarai. Enumerate mengembalikan objek dengan pembilang ke setiap elemen dalam senarai.