Rumah >pembangunan bahagian belakang >Tutorial Python >Apakah Cara Paling Pythonic untuk Mencetak Item Senarai?

Apakah Cara Paling Pythonic untuk Mencetak Item Senarai?

Linda Hamilton
Linda Hamiltonasal
2024-11-14 18:17:02410semak imbas

What's the Most Pythonic Way to Print List Items?

Cara Python untuk Mencetak Senarai Item Dilawati Semula

Persoalannya timbul: adakah terdapat pendekatan yang lebih cekap untuk mencetak semua elemen senarai Python daripada kod berikut:

myList = [Person("Foo"), Person("Bar")]
print("\n".join(map(str, myList)))

Menggunakan untuk gelung, seperti yang dilihat di bawah, dilaporkan tidak optimum:

for p in myList:
    print(p)

Cadangan alternatif ialah mencetak setiap elemen secara terus, sama seperti:

print(p) for p in myList

Namun, mengapa ini bukan penyelesaian yang sah? Sekarang, mari kita mendalami cara Pythonic.

Membongkar untuk Mencetak Item Senarai

Untuk pengguna Python 3, kod berikut menawarkan penyelesaian yang elegan:

print(*myList, sep='\n')

Kod ini menggunakan pembongkaran untuk mencetak elemen dengan baris baharu sebagai pemisah. Untuk Python 2, gunakan dari __future__ import print_function untuk tingkah laku yang serupa.

Penyelesaian Menggunakan Lelaran

Untuk Python 2, lelaran diperlukan. Kod berikut ialah pilihan yang mudah tetapi berkesan:

for p in myList:
    print p

Alternatif Pemahaman Senarai

Jika n.join() diutamakan, pertimbangkan alternatif ringkas ini:

print('\n'.join(str(p) for p in myList))

Pada dasarnya, pendekatan Pythonic untuk mencetak item senarai menekankan kecekapan dan kebolehbacaan. Sama ada ia melibatkan membongkar atau menyenaraikan pemahaman, kaedah ini memperkasakan pembangun Python dengan alatan yang berkuasa dan serba boleh untuk mempersembahkan data dalam format yang diingini.

Atas ialah kandungan terperinci Apakah Cara Paling Pythonic untuk Mencetak Item Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn