J'ai un dictionnaire item
. Il a des cordes que les clés et les valeurs sont des listes, par exemple:Comparer les valeurs du dictionnaire et la clé en python
item['title'] = [u'python']
item['image'] = [u'/link/to/image']
item['link'] = [u'link to article']
Je veux vérifier si une valeur est 0 en longueur, mais le lien ou l'image peut être vide, donc je ne les suivantes:
for key, value in item.iteritems():
if len(value) == 0:
if key != 'image' or key != 'link':
raise DropItem("Item is empty: %s" %item)
return item
Donc un élément doit être supprimé uniquement si la valeur est 0 et ce n'est pas une image ou une clé. Mon problème est maintenant que cette condition ne fonctionne pas. L'élément est toujours supprimé lorsque l'image ou le lien est vide.
Une idée de ce qui ne va pas? (Je suis nouveau à python ^^)
Notez que l'idiome pour le contrôle d'une collection vide (liste, dict, ensemble, chaîne, etc.) est 'sinon xs:' (et inversement, de vérifier si elle est non vide est 'si xs:'). – delnan