파이썬에서 빈 세트에 항목을 어떻게 추가 할 수 있습니까?


104

다음 절차가 있습니다.

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

하지만 다음과 같은 오류가 발생합니다.

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

D에 요소가 포함되어 있으면 오류가 발생하지 않습니다. 하지만 처음에는 D가 비어 있어야합니다.


3
{}세트가 아니라 사전입니다.
Sukrit Kalra

5
한 줄로 D={}집합이 아닌 빈 사전을 선언합니다. 에 의해 빈 집합을 선언합니다 S=set().
Omar Tariq

답변:


194

D = {} 설정되지 않은 사전입니다.

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

사용 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'>

당신이 만든 것은 세트가 아니라 사전입니다.

update사전 의 메소드는 이전 사전에서 새 사전을 업데이트하는 데 사용됩니다.

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

세트에서는 요소를 세트에 추가하는 데 사용됩니다.

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

0

빈 중괄호 {} 예 :에 변수를 할당 new_set = {}하면 사전이됩니다. 빈 집합을 만들려면 변수를 'set ()'에 할당합니다.new_set = set()

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.