Comment puis-je append des éléments à un ensemble vide en python

J’ai la procédure suivante:

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

Mais j’obtiens l’erreur suivante:

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

Je ne reçois aucune erreur si D contient des éléments. Mais j’ai besoin d’être vide au début.

D = {} est un dictionnaire non défini.

 >>> d = {} >>> type(d)  

Utilisez D = set() :

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

Vous avez créé un dictionnaire et non un ensemble.

La méthode de update dans le dictionnaire est utilisée pour mettre à jour le nouveau dictionnaire d’un précédent, comme ça,

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

Alors que dans les ensembles, il est utilisé pour append des éléments à l’ensemble.

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