Python'da boş bir kümeye nasıl öğe ekleyebilirim


104

Aşağıdaki prosedüre sahibim:

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

Ama şu hatayı alıyorum:

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

D eleman içeriyorsa herhangi bir hata almıyorum. Ama başlangıçta D'nin boş olmasına ihtiyacım var.


3
{}bir sözlüktür, bir küme değildir.
Sukrit Kalra

5
Bir satırla D={}bir küme değil, boş bir sözlük ilan edersiniz. Tarafından boş bir küme bildiriyorsunuz S=set().
Omar Tariq

Yanıtlar:


194

D = {} bir sözlük ayarlanmamıştır.

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

Kullanım D = set():

>>> d = set()
>>> type(d)
<type 'set'>
>>> d.update({1})
>>> d.add(2)
>>> d.update([3,3,3])
>>> d
set([1, 2, 3])

19
>>> d = {}
>>> D = set()
>>> type(d)
<type 'dict'>
>>> type(D)
<type 'set'>

Yaptığın şey bir Küme değil, bir sözlük.

updateSözlük yöntem bir öncekinden Yeni sözlük güncellemek için kullanılır, bu yüzden mi

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

Setlerde ise sete eleman eklemek için kullanılır.

>>> D.update([1, 2])
>>> D
set([1, 2])

0

Boş küme ayraçlarına {} bir değişken atadığınızda new_set = {}, örneğin:, bu bir sözlük haline gelir. Boş bir küme oluşturmak için, değişkeni bir 'set ()' ye atayın, yani:new_set = set()

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.