Cara Menentukan sama ada Semua Elemen dalam Senarai adalah Sama dalam Python
Dalam Python, adalah perkara biasa untuk menemui senarai yang mengandungi pelbagai elemen data . Selalunya, kita perlu menentukan sama ada semua elemen dalam senarai adalah sama. Ini boleh berguna untuk pengesahan data dan semakan konsistensi.
Penyelesaian Python Menggunakan Iterator
Pendekatan yang paling Pythonic melibatkan penggunaan fungsi itertools.groupby():
from itertools import groupby def all_equal(iterable): g = groupby(iterable) return next(g, True) and not next(g, False)
Penyelesaian ini berulang pada senarai input, mengumpulkan elemen yang sama menggunakan groupby(). Jika hanya satu kumpulan wujud (semua elemen adalah sama), fungsi mengembalikan True. Jika tidak, ia mengembalikan Palsu.
Sebagai alternatif, anda boleh menggunakan pendekatan berulang berikut tanpa groupby():
def all_equal(iterator): iterator = iter(iterator) try: first = next(iterator) except StopIteration: return True return all(first == x for x in iterator)
Penyelesaian Satu Pelapik
Python menawarkan beberapa baris satu yang ringkas penyelesaian:
def all_equal2(iterator): return len(set(iterator)) <= 1 def all_equal3(lst): return lst[:-1] == lst[1:] def all_equal_ivo(lst): return not lst or lst.count(lst[0]) == len(lst) def all_equal_6502(lst): return not lst or [lst[0]]*len(lst) == lst
Pertimbangan Prestasi
Pilihan penyelesaian bergantung pada faktor seperti saiz senarai input dan pengagihan elemen di dalamnya. Secara amnya, penyelesaian menggunakan iterator adalah lebih cekap untuk senarai besar. Penyelesaian satu baris mungkin sesuai untuk senarai yang lebih kecil atau apabila kelajuan bukan faktor kritikal.
Kesimpulan
Python menyediakan pelbagai cara untuk menyemak sama ada semua elemen dalam senarai adalah sama. Pendekatan yang paling Pythonic melibatkan penggunaan groupby() atau iterator. Penyelesaian satu baris menawarkan ringkas tetapi mungkin mempunyai beberapa kelemahan prestasi. Apabila memilih penyelesaian, pertimbangkan keperluan khusus permohonan anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak dengan Cekap sama ada Semua Elemen dalam Senarai Python adalah Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!