Saya mencoba mengonversi kumpulan ke daftar di Python 2.6. Saya menggunakan sintaks ini:
first_list = [1,2,3,4]
my_set=set(first_list)
my_list = list(my_set)
Namun, saya mendapatkan jejak tumpukan berikut:
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: 'set' object is not callable
Bagaimana saya bisa memperbaikinya?
python
list
set
python-2.6
Gat
sumber
sumber
TypeError: 'set' object is not callable
: Apa ituset
? Terima kasihset=set(first_list)
atau sesuatu. Sekarangset
didefinisikan ulang ke objek set ini yang akan menyebabkan kesalahan itu. Coba lagi dengan juru bahasa Python baruJawaban:
Sudah daftar
Apakah Anda menginginkan sesuatu seperti
EDIT: Output dari komentar terakhir Anda
Saya ingin tahu apakah Anda melakukan sesuatu seperti ini:
sumber
([1,2,12,6])
Anda dan Anda melakukannya,list(([1,2,12,6]))
Anda akan mendapatkan daftar seperti[1,2,1,2,6]
Dari pada:
Mengapa tidak pintas proses:
Ini akan menghapus dupes dari daftar Anda dan mengembalikan daftar kepada Anda.
sumber
[Diedit] Sepertinya Anda sebelumnya telah mendefinisikan ulang "daftar", menggunakannya sebagai nama variabel, seperti ini:
Dan Anda akan mendapatkannya
sumber
Setiap kali Anda terjebak dalam jenis masalah seperti itu, cobalah untuk menemukan tipe data dari elemen yang ingin Anda konversi terlebih dahulu dengan menggunakan:
Kemudian, Gunakan:
untuk mengubahnya menjadi daftar. Anda dapat menggunakan daftar yang baru dibangun seperti daftar normal di python sekarang.
sumber
Cukup ketik:
Ini akan mengubah set dalam bentuk {'1', '2'} menjadi daftar dalam bentuk ['1', '2'].
sumber
Tinjau baris pertama Anda. Jejak tumpukan Anda jelas bukan dari kode yang Anda tempelkan di sini, jadi saya tidak tahu persis apa yang telah Anda lakukan.
Yang Anda inginkan adalah
set([1, 2, 3, 4])
.Pengecualian "tidak dapat dihubungi" berarti Anda melakukan sesuatu seperti
set()()
- mencoba memanggilset
instance.sumber
Saya tidak yakin Anda membuat set dengan
([1, 2])
sintaks ini , lebih tepatnya sebuah daftar. Untuk membuat set, Anda harus menggunakanset([1, 2])
.Kurung ini hanya membungkus ekspresi Anda, seolah-olah Anda akan menulis:
Tidak ada yang benar-benar diabaikan, tetapi jangan lakukan apa pun untuk ekspresi Anda.
Catatan:
(something, something_else)
akan membuat tuple (tapi masih belum ada daftar).sumber
set
?Python adalah bahasa yang diketik secara dinamis, yang berarti Anda tidak dapat menentukan jenis variabel seperti yang Anda lakukan dalam C atau C ++:
atau
Dalam Python, Anda menggunakan paksaan jika Anda mengubah tipe, atau fungsi init (konstruktor) dari tipe untuk mendeklarasikan variabel tipe:
akan memberi Anda
<type 'set'>
jawaban.Jika Anda memiliki daftar, lakukan ini:
sumber
Hmmm saya bertaruh bahwa di beberapa baris sebelumnya Anda memiliki sesuatu seperti:
Apakah aku salah ?
sumber
list
sama dengan membuat setset(values)
. Dan itu membuat kebingungan. Jawaban Anda tidak boleh diturunkan. Tapi juga itu tidak mengaitkan pembaca te :) Kami hanya membaca sekilas dan melihat hal yang salah downvote.