Tuple Comprehension dalam Python: Membuka Kunci Misteri
Python menyediakan senarai dan pemahaman kamus sebagai cara mudah untuk membina koleksi baharu. Walau bagaimanapun, pemahaman tuple nampaknya tidak hadir dengan ketara. Ini menimbulkan persoalan: Mengapa tiada sintaks pemahaman tuple asli dalam Python?
Bertentangan dengan andaian bahawa kebolehubahan adalah sebabnya, kita boleh mencipta objek tidak berubah dalam pemahaman menggunakan pembina tuple(). Contohnya:
<code class="python">[tuple(i for i in range(3))] # Immutability is not the issue</code>
Sebaliknya, kekurangan pemahaman tuple berpunca daripada fakta bahawa kurungan telah digunakan untuk ungkapan penjana. Pertimbangkan coretan berikut:
<code class="python">(i for i in range(3)) # This is a generator expression, not a tuple comprehension</code>
Untuk menangani pertindihan ini, seseorang boleh menggunakan pendakap kerinting untuk pemahaman tuple; walau bagaimanapun, ia telah pun dikhaskan untuk pemahaman yang ditetapkan.
Penyelesaian terletak pada memanfaatkan kurungan digabungkan dengan pembina tuple():
<code class="python">tuple(i for i in range(3)) # Creating a tuple from a generator expression</code>
Pendekatan ini menggabungkan kemudahan pemahaman dengan yang tidak berubah secara berkesan sifat tupel.
Atas ialah kandungan terperinci Mengapa Tiada Pemahaman Tuple Asli dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!