One-Element Tuples: A Comma Quandary
Apabila berurusan dengan tupel, miskonsepsi biasa timbul apabila cuba mencipta tupel dengan hanya satu elemen . Dalam kes sedemikian, seseorang mungkin menganggap bahawa melampirkan rentetan dalam kurungan sudah memadai, tetapi ini tidak berlaku.
Pertimbangkan contoh berikut:
a = [('a'), ('b'), ('c', 'd')]
Anehnya, apabila mencetak jenis elemen ini, kami menemui gabungan rentetan dan tupel:
['a', 'b', ('c', 'd')]
<type 'str'> <type 'str'> <type 'tuple'>
Mengapa ini berlaku? Mengapakah dua elemen pertama ditafsirkan sebagai rentetan?
Jawapannya terletak pada sintaks tupel. Untuk mencipta tuple dengan satu elemen, seseorang mesti memasukkan koma selepas nilai, yang menunjukkan bahawa ia ialah tuple.
type(('a')) <type 'str'> type(('a',)) <type 'tuple'>
Untuk membetulkan kod contoh, cuma tambah koma pada dua elemen pertama:
a = [('a',), ('b',), ('c', 'd')]
Sintaks ini memastikan bahawa semua elemen dalam senarai adalah tupel.
Sebagai alternatif, jika satu mendapati sintaks koma di belakang tidak menarik, mereka boleh menggunakan fungsi tuple(), yang mengambil senarai sebagai hujah dan mengembalikan tuple:
x = tuple(['a'])
Atas ialah kandungan terperinci Mengapa Python Memerlukan Koma Jejak untuk Tuple Satu Elemen?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!