Mengesahkan Keahlian Subset Senarai untuk Senario Kritikal Prestasi
Diberi dua senarai, menentukan sama ada satu ialah subset daripada yang lain ialah operasi biasa . Untuk mencapai prestasi optimum, memilih pendekatan yang paling cekap adalah penting.
Satu kaedah melibatkan persilangan set yang diperolehi daripada senarai dan menyemak sama ada hasilnya sama dengan satu set. Walau bagaimanapun, memandangkan bilangan set data yang terlibat, penyelesaian yang lebih berprestasi diperlukan.
Apabila satu senarai statik dan satu lagi ialah kamus dinamik dari mana kunci diekstrak, pendekatan alternatif disyorkan. Pertimbangkan penyelesaian berikut:
<code class="python">def is_subset(lookup_table, dynamic_list): # Convert lookup table to a set for efficient lookups lookup_set = set(lookup_table) # Convert dynamic list to a set for faster comparisons dynamic_set = set(dynamic_list.keys()) # Check if the dynamic list's set is a subset of the lookup table's set return dynamic_set <= lookup_set
Dengan menukar jadual carian statik dan senarai dinamik kepada set, operasi carian jauh lebih pantas. Selain itu, penggunaan operator <= untuk membandingkan set adalah sangat cekap.
Contoh:
<code class="python">>>> lookup_table = [1, 3, 5] >>> dynamic_list = [1, 3, 5, 8] >>> is_subset(lookup_table, dynamic_list) True >>> lookup_table = ['yes', 'no', 'hmm'] >>> dynamic_list = ['sorry', 'no', 'hmm'] >>> is_subset(lookup_table, dynamic_list) False</code>
Atas ialah kandungan terperinci Bagaimana untuk Semak Keahlian Subset Senarai dengan Cekap dalam Senario Kritikal Prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!