Bagaimana saya bisa menambahkan item ke set kosong di python

104

Saya memiliki prosedur berikut:

def myProc(invIndex, keyWord):
    D={}
    for i in range(len(keyWord)):
        if keyWord[i] in invIndex.keys():
                    D.update(invIndex[query[i]])
    return D

Tetapi saya mendapatkan kesalahan berikut:

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence

Saya tidak mendapatkan error jika D mengandung elemen. Tapi saya ingin D kosong di awal.

pengguna2192774
sumber
3
{}adalah kamus, bukan satu set.
Sukrit Kalra
5
Dengan sebuah baris D={}Anda menyatakan kamus kosong, bukan satu set. Anda mendeklarasikan set kosong oleh S=set().
Omar Tariq

Jawaban:

194

D = {} adalah kamus tidak disetel.

>>> d = {}
>>> type(d)
<type 'dict'>

Penggunaan D = set():

>>> d = set()
>>> type(d)
<type 'set'>
>>> d.update({1})
>>> d.add(2)
>>> d.update([3,3,3])
>>> d
set([1, 2, 3])
Ashwini Chaudhary
sumber
19
>>> d = {}
>>> D = set()
>>> type(d)
<type 'dict'>
>>> type(D)
<type 'set'>

Apa yang Anda buat adalah kamus dan bukan Set.

The updateMetode dalam kamus digunakan untuk memperbarui kamus baru dari sebelumnya, seperti begitu,

>>> abc = {1: 2}
>>> d.update(abc)
>>> d
{1: 2}

Sedangkan dalam set, digunakan untuk menambahkan elemen ke dalam himpunan.

>>> D.update([1, 2])
>>> D
set([1, 2])
Sukrit Kalra
sumber
0

Saat Anda menetapkan variabel untuk mengosongkan kurung kurawal {} misalnya:, new_set = {}itu menjadi kamus. Untuk membuat set kosong, tetapkan variabel ke 'set ()' yaitu:new_set = set()

lincoln ajanga
sumber