Apabila bekerja dengan senarai dalam Python, mencetak setiap elemen sering menimbulkan cabaran. Kaedah konvensional seperti menggunakan "n".join() dengan map() atau melelaran senarai dengan gelung for boleh terasa menyusahkan. Artikel ini menyiasat penyelesaian elegan menggunakan pembongkaran untuk mencapai cara yang ringkas dan Pythonic mencetak item senarai.
Dalam Python 3, pernyataan print() membenarkan pembongkaran, dilambangkan dengan asterisk (*). Ciri ini membolehkan kami mencetak berbilang objek secara serentak dengan "membongkar" mereka daripada pembolehubah tunggal, dengan berkesan menghapuskan keperluan untuk gelung eksplisit atau operasi bergabung.
myList = [Person("Foo"), Person("Bar")] print(*myList, sep='\n')
Dengan menggunakan asterisk, elemen myList diperluaskan ke dalam argumen individu, menghasilkan output yang diingini:
Foo Bar
Argumen sep='n' memastikan setiap item dicetak pada baris baharu. Teknik pembongkaran ini melambangkan falsafah Pythonic tentang kesederhanaan dan keringkasan.
Bagi pengguna Python 2, pernyataan cetakan tidak mempunyai keupayaan membongkar. Walau bagaimanapun, mengimport print_function daripada modul masa hadapan membenarkan penggunaan sintaks cetakan Python 3. Sebagai alternatif, gelung untuk mudah boleh digunakan untuk mencetak setiap item:
for p in myList: print p
Walaupun tidak ringkas seperti membongkar, pemahaman senarai menyediakan alat yang berkuasa untuk memanipulasi senarai. Menggabungkan pemahaman senarai dengan "n".join() menawarkan alternatif yang boleh dibaca untuk membongkar:
print '\n'.join(str(p) for p in myList)
Pendekatan ini mengubah setiap elemen senarai menjadi perwakilan rentetan menggunakan str() dan menggabungkannya dengan baris baharu. Walaupun tidak seringkas membongkar, pemahaman senarai kekal sebagai teknik yang berkesan dan serba boleh untuk bekerja dengan senarai.
Atas ialah kandungan terperinci Bagaimanakah Membongkar Membuat Senarai Percetakan dalam Python Lebih Pythonic?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!