Saya mencoba mengubah daftar menjadi tuple.
Sebagian besar solusi di Google menawarkan kode berikut:
l = [4,5,6]
tuple(l)
Namun, kode ini menghasilkan pesan kesalahan ketika saya menjalankannya:
TypeError: objek 'tuple' tidak bisa dipanggil Bagaimana saya bisa memperbaiki masalah ini?
python
python-2.7
tuples
LynnH
sumber
sumber
tuple
tempat lain sebelumnya?Jawaban:
Seharusnya bekerja dengan baik. Jangan gunakan
tuple
,list
atau nama khusus lainnya sebagai nama variabel. Mungkin itulah yang menyebabkan masalah Anda.sumber
Memperluas komentar eumiro, biasanya
tuple(l)
akan mengubah daftarl
menjadi tuple:Namun, jika Anda telah mendefinisikan ulang
tuple
menjadi tuple daripadatype
tuple
:maka Anda mendapatkan TypeError karena tuple itu sendiri tidak dapat dipanggil:
Anda dapat memulihkan definisi asli
tuple
dengan berhenti dan memulai kembali juru bahasa Anda, atau (terima kasih kepada @glglgl):sumber
Anda mungkin telah melakukan sesuatu seperti ini:
Inilah masalahnya ... Karena Anda telah menggunakan
tuple
variabel untuk menyimpan yangtuple (45, 34)
sebelumnya ... Jadi, sekarangtuple
adalahobject
tipetuple
sekarang ...Tidak ada lagi
type
dan karenanya, tidak lagiCallable
.Never
gunakan tipe bawaan apa pun sebagai nama variabel Anda ... Anda memang punya nama lain untuk digunakan. Gunakan nama sembarang untuk variabel Anda sebagai gantinya ...sumber
Untuk menambahkan alternatif lain
tuple(l)
, pada Python> =3.5
Anda dapat melakukan:pendek, sedikit lebih cepat tetapi mungkin mudah dibaca.
Ini pada dasarnya membongkar daftar
l
di dalam tuple literal yang dibuat karena adanya koma tunggal,
.Ps: Kesalahan yang Anda terima adalah karena menutupi nama
tuple
yaitu Anda ditugaskan untuk nama tuple di suatu tempat misalnyatuple = (1, 2, 3)
.Menggunakan
del tuple
Anda harus baik untuk pergi.sumber
Saya menemukan banyak jawaban terkini dan dijawab dengan benar tetapi akan menambahkan sesuatu yang baru ke tumpukan jawaban.
Dalam python ada cara tak terbatas untuk melakukan ini, berikut adalah beberapa contoh
cara Normal
cara Pintar
Ingat tuple tidak berubah, digunakan untuk menyimpan sesuatu yang berharga. Misalnya kata sandi, kunci atau hash disimpan dalam tupel atau kamus. Jika pisau diperlukan mengapa menggunakan pedang untuk memotong apel. Gunakan dengan bijak, itu juga akan membuat program Anda efisien.
sumber
tuple(l)
(cara pertama) lebih pendek darituple(item for item in l)
(cara kedua).