Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Python Memerlukan Koma Jejak untuk Tuple Satu Elemen?

Mengapa Python Memerlukan Koma Jejak untuk Tuple Satu Elemen?

Mary-Kate Olsen
Lepaskan: 2024-12-15 15:38:13
asal
966 orang telah melayarinya

Why Does Python Require a Trailing Comma for One-Element Tuples?

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')]
Salin selepas log masuk

Anehnya, apabila mencetak jenis elemen ini, kami menemui gabungan rentetan dan tupel:

['a', 'b', ('c', 'd')]
Salin selepas log masuk
<type 'str'>    
<type 'str'>    
<type 'tuple'>
Salin selepas log masuk

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'>
Salin selepas log masuk

Untuk membetulkan kod contoh, cuma tambah koma pada dua elemen pertama:

a = [('a',), ('b',), ('c', 'd')]
Salin selepas log masuk

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'])
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan