cari
Rumahpembangunan bahagian belakangTutorial PythonProgram Python untuk mengira perbezaan simetri antara dua senarai

Program Python untuk mengira perbezaan simetri antara dua senarai

Dalam Python, anda boleh menggunakan senarai untuk menyimpan berbilang item dalam satu pembolehubah. Satu daripada empat jenis data terbina dalam Python untuk menyimpan koleksi data ialah senarai; tiga yang lain ialah tupel, set dan kamus, masing-masing dengan tujuan yang unik.

Apakah itu senarai?

Kurungan segi empat sama digunakan untuk membina senarai. Alat yang paling berkuasa dalam Python ialah senarai, kerana ia tidak semestinya homogen. Jenis data seperti integer, rentetan dan objek semuanya boleh ditemui dalam senarai. Memandangkan senarai boleh berubah, ia boleh ditukar walaupun selepas ia dibuat.

Perbezaan simetri dalam senarai

Set elemen yang berada dalam LIST1 atau LIST2 tetapi tidak dalam kedua-duanya membentuk perbezaan simetri antara kedua-dua senarai LIST1 dan LIST2.

Terdapat pelbagai cara untuk mengira perbezaan simetri antara dua senarai dalam python, kami akan mengambil cara yang paling berkesan untuk mencari perbezaan yang sama.

Kami telah menukar senarai kepada set dan kemudian membuat perbezaan simetri antara set ini.

Algoritma

  • Buat Senarai

  • Tukar senarai ke set

  • Cetak perbezaan simetri set yang ditukar

  • Cetak perbezaan simetri senarai

Contoh

Dalam program berikut, menggunakan "dalam" kita boleh mencari perbezaan antara dua senarai. Kata kunci dalam mempunyai dua fungsi.

  • Tentukan sama ada nilai wujud dalam rentetan, senarai, tuple, julat, dsb.

  • Ulangi senarai dalam gelung for.

L_1 = [11, 12, 13]
L_2 = [12, 13, 42]
L_3 = [3, 42, 5]

# converting lists to set
set_1 = set(L_1)
set_2 = set(L_2)

# now print the symmetric difference when

# when the converted set is passed as a parameter
print(set_1.symmetric_difference(set_2))

# now print the symmetric difference when list is

# passed as a parameter by converting it to a set
print(set_2.symmetric_difference(L_3))

Output

{42, 11}
{13, 3, 12, 5}

Contoh

Di sini, kami mencipta dua senarai dan kemudian mencipta pembolehubah sementara kosong. Kami kemudiannya menggunakan gelung for untuk mengulang nombor dalam senarai. Pernyataan If menyemak sama ada nombor itu biasa dan kemudian menambahkan elemen pada pembolehubah sementara yang pertama dibuat. Kemudian cetak senarai dengan elemen yang berbeza.

list_1 = [1, 35, 20, 25, 70, 35, 80]
list_2 = [25, 80, 35]
temp_3 = []
for element in list_1:
   if element not in list_2:
      temp_3.append(element)
print(temp_3)

Output

[1, 20, 70]

Gunakan pemahaman senarai

Dalam pendekatan ini kami menukar senarai secara eksplisit kepada set dan kemudian menggunakan operator tolak untuk mengalih keluar hanya satu daripada senarai yang lain. Pergi ke Koleksi dalam Python untuk mendapatkan rujukan koleksi lain. Ini adalah strategi yang serupa dengan yang kami gunakan sebelum ini. Satu-satunya perbezaan ialah sintaks pemahaman senarai digunakan dan bukannya gelung bersarang.

Contoh

Program berikut membandingkan dua senarai: list_1 dan list_2. Ia mencipta satu set daripada senarai kedua dan kemudian menggunakannya untuk menapis sebarang nilai yang muncul dalam kedua-dua senarai. Hasilnya ialah senarai ditapis baharu (temp_3) yang mengandungi hanya elemen daripada list_1 yang tidak terdapat dalam SET_1 (list_2).

list_1 = [13, 15, 22, 25, 30, 54, 40]
list_2 = [54, 45, 30, 13]
SET_1 = set(list_2)
temp_3 = [x for x in list_1 if x not in SET_1]
print(temp_3)

Output

[15, 22, 25, 40]

Jangan gunakan set()

Dalam kaedah ini, elemen disalin daripada dua senarai menggunakan teknik penggabungan asas sambil menyemak secara berkala sama ada ia wujud dalam senarai lain.

Contoh

Dalam program berikut - kami mentakrifkan fungsi yang dipanggil Perbezaan yang menerima dua senarai sebagai parameter. Fungsi ini mencipta list_dif senarai baharu yang mengandungi item yang tidak terdapat dalam kedua-dua senarai asal. Ia kemudian mencetak senarai baharu ini dan perbezaan antara dua senarai asal. Dalam contoh ini ia mencetak [1, 12, 25, 22, 30, 20].

# this method helps to get difference of two lists

# by not using set()
def Difference(list1, list2):
   list_dif = [i for i in list_1 + list_2 if i not in list_1 or i not in list_2]
   return list_dif
list_1 = [1, 12, 25, 22, 30, 65, 70]
list_2 = [65, 20, 70]
list_3 = Difference(list_1, list_2)
print(list_3)

Output

[1, 12, 25, 22, 30, 20]

Gunakan perbezaan simetri

Simetriperbezaan ()Kaedah mengembalikan elemen dalam kumpulan pertama atau kedua. Tidak seperti elemen kongsi dua koleksi, kaedah ini tidak mengembalikan persimpangan.

Contoh

list_1 = [23, 18, 45, 25, 40, 23, 40]
list_2 = [23, 40, 35]
set_difference = set(list_1).symmetric_difference(set(list_2))
temp_3 = list(set_difference)
print(temp_3)

Output

[35, 45, 18, 25]

KESIMPULAN

Dalam artikel ini, kami menggunakan empat kaedah berbeza untuk mengira perbezaan simetri antara dua senarai melalui python. Setiap kaedah mempunyai beberapa keunikan dan cara yang berbeza untuk mendekati tugas.

Atas ialah kandungan terperinci Program Python untuk mengira perbezaan simetri antara dua senarai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:tutorialspoint. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Apakah jenis data yang boleh disimpan dalam array python?Apakah jenis data yang boleh disimpan dalam array python?Apr 27, 2025 am 12:11 AM

Pythonlistscanstoreanydatatype, arraymoduleArraysstoreonetype, andnumpyarraysarefornumumericalcomputations.1) listsareversatileButlessMememory-efficient.2) arraymoduleArduleArrayRaysarememory-efficientforhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogenhomogen

Apa yang berlaku jika anda cuba menyimpan nilai jenis data yang salah dalam array python?Apa yang berlaku jika anda cuba menyimpan nilai jenis data yang salah dalam array python?Apr 27, 2025 am 12:10 AM

KetikayyoUttemptToStoreAveFheWrongatatypeinapythonArray, anda akan menjadicounteratypeerror

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array?Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array?Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Apa yang perlu anda periksa jika skrip dijalankan dengan versi Python yang salah?Apa yang perlu anda periksa jika skrip dijalankan dengan versi Python yang salah?Apr 27, 2025 am 12:01 AM

Thescriptisrunningwiththewrongpythonversionduetoincorrectdefault interpretsettings

Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousoperations: 1) SlicingExtractsSubsets, 2) Menambah/ExtendingAddSelements, 3) InsertingPlaceSelementSatSatSatSpecifics, 4) RemovingDeleteselements, 5) Sorting/ReversingChangesOrder,

Dalam jenis aplikasi yang biasa digunakan oleh numpy?Dalam jenis aplikasi yang biasa digunakan oleh numpy?Apr 26, 2025 am 12:13 AM

NumpyarraysareessentialforapplicationRequiringeficientnumericalcomputationsanddatamanipulation.theyarecrucialindaSascience, machinelearning, fizik, kejuruteraan, danfinanceduetotheirabilitytOHandlelarge-Scaledataefisien.Forexample, infinancialanal

Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Apr 26, 2025 am 12:12 AM

UseanArray.arrayoveralistinpythonwhendealingwithhomogeneousdata, criticalcode prestasi, orinterfacingwithccode.1) homogeneousdata: arrayssavemememorywithtypedelements.2)

Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Apr 26, 2025 am 12:05 AM

Tidak, notalllistoperationsaresuportedByArrays, andviceversa.1) arraysdonotsupportdynamicoperationslikeappendorinsertwithoutresizing, whyimpactsperformance.2) listsdonotguaranteeconstantTimeComplexityFordirectacesscesscesscesscesscesscesscesscesscesessd.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini