Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program Python untuk menguji sama ada sebarang elemen set hadir dalam senarai

Program Python untuk menguji sama ada sebarang elemen set hadir dalam senarai

WBOY
WBOYke hadapan
2023-09-04 21:49:041166semak imbas

Program Python untuk menguji sama ada sebarang elemen set hadir dalam senarai

Dalam artikel ini, kita akan belajar bagaimana untuk menyemak sama ada sebarang elemen set wujud dalam senarai dalam python.

Kaedah penggunaan

  • Gunakan mana-mana () fungsi

  • Gunakan bitwise & operator

  • Gunakan fungsi Counter(), penapis() dan lambda

Contoh

Andaikan kita telah mengambil set input dan senarai input. Kami kini akan menyemak sama ada sebarang elemen set input wujud dalam senarai input menggunakan kaedah di atas.

Masuk

inputSet = {4, 8, 1, 3, 5, 7}
inputList = [7, 15, 20]

Output

Checking whether any set element present in the input list: True

Dalam contoh di atas, 7 wujud dalam kedua-dua set dan senarai, jadi hasilnya adalah Benar

Kaedah 1: Gunakan mana-mana () fungsi

Fungsi any() mengembalikan True jika mana-mana item dalam iterable adalah benar, jika tidak ia mengembalikan Palsu.

Tatabahasa

any(iterable)

Algoritma (langkah)

Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -.

  • Buat pembolehubah untuk menyimpan set input dan mencetak set yang diberikan.

  • Buat pembolehubah lain untuk menyimpan senarai input.

  • Gunakan fungsi any() untuk menyemak sama ada mana-mana elemen koleksi terdapat dalam senarai input dengan menggelung melalui koleksi input dan menyemak sama ada elemen semasa terdapat dalam senarai input.

  • Cetak hasilnya sebagai nilai boolean.

Contoh

Atur cara berikut menggunakan fungsi any() untuk menyemak sama ada sebarang elemen set input wujud dalam senarai input dan mengembalikan True jika ada sebaliknya False –

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [7, 15, 20]

# checking whether any set element is present in the input list using any() function
result = any(i in inputSet for i in inputList)

# printing the output
print("Checking whether any set element present in the input list:", result)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: True

Kaedah 2: Gunakan bitwise & operator

Bitwise & Operator - "&" ialah operator bitwise yang membandingkan nombor (perduaan). Jika kedua-dua bit ialah 1, maka ia menetapkan setiap bit kepada 1.

Algoritma (langkah)

Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -

  • Tukar input yang diberikan kepada set menggunakan fungsi set().

  • Semak sama ada sebarang elemen set wujud dalam senarai input menggunakan operator & (tetapkan setiap bit kepada 1 jika kedua-dua bit adalah 1) dan gunakan fungsi bool() (mengembalikan nilai boolean objek yang diberikan )

  • Cetak hasilnya.

Contoh

Atur cara berikut menggunakan operator bitwise & untuk menyemak sama ada sebarang elemen set input wujud dalam senarai input dan mengembalikan True jika ada sebaliknya False –

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [9, 15, 20]

# Convert the given list to set using the set() function
inputListSet = set(inputList)

# checking whether any set element present in the input list

# using & operator(checks for common element) and converting to boolean
result = bool(inputSet & inputListSet)

# printing the output
print("Checking whether any set element present in the input list:", result)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: False

Kaedah 3: Menggunakan fungsi Counter(), penapis() dan lambda

fungsi penapis() - Menapis jujukan tertentu menggunakan fungsi yang menentukan sama ada setiap elemen dalam jujukan itu benar atau palsu.

Fungsi Counter() - Kira subkelas objek boleh cincang. Ia secara tersirat mencipta jadual cincang yang boleh diubah apabila dipanggil/dipanggil.

lambda() fungsi

Fungsi lambda ialah fungsi kecil tanpa nama.

Fungsi lambda boleh mempunyai tanpa had/sebarang bilangan parameter, tetapi hanya boleh mempunyai satu ungkapan.

Tatabahasa

lambda arguments : expression

Algoritma (langkah)

Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -

  • Gunakan kata kunci import untuk mengimport fungsi Kaunter daripada modul koleksi.

  • Gunakan fungsi Counter() untuk mendapatkan frekuensi semua elemen senarai input dalam bentuk kamus.

  • Gunakan fungsi penapis untuk menapis semua elemen set input jika ia terdapat dalam kamus frekuensi di atas.

  • Panjang senarai yang ditapis akan lebih besar daripada 1 jika terdapat sebarang unsur biasa.

  • Gunakan pernyataan bersyarat untuk menyemak sama ada syarat di atas adalah benar dan cetak sewajarnya.

Contoh

Atur cara berikut menggunakan fungsi Counter(), filter() dan lambda untuk menyemak sama ada sebarang elemen set input wujud dalam senarai input dan mengembalikan True jika ada sebaliknya False –

# importing a Counter function from the collections module
from collections import Counter

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [7, 15, 20, 7]

# getting the frequency of list elements using the Counter() function

# Here it returns frequencies as a dictionary
elements_freq = Counter(inputList)

# Traversing in the input Set using the lambda function

# Checking if the set element exists in the keys of the dictionary

# Filtering all the elements which satisfy the above condition
output = list(filter(lambda k: k in elements_freq.keys(), inputSet))

# Check if there are any filtered elements
if(len(output) > 0):
   output = True

# If no elements are common then the output will be False
else:
   output = False

# printing the output
print("Checking whether any set element present in the input list:", output)

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: True

Kesimpulan

Dalam artikel ini, kami mempelajari cara menggunakan tiga kaedah berbeza untuk menentukan sama ada set mengandungi elemen dalam senarai. Kami juga mempelajari cara menukar mana-mana objek boleh lelar seperti senarai, tuple atau mana-mana objek boleh lelar ke dalam satu set menggunakan fungsi set() dan cara menggunakan operator & untuk mencari elemen sepunya kepada kedua-dua set yang diberikan set tertentu.

Atas ialah kandungan terperinci Program Python untuk menguji sama ada sebarang elemen set hadir dalam senarai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam