398 Stimmen

'zu viele Werte zum Auspacken', Iteration über ein Diktat. key=>string, value=>list

Ich erhalte die too many values to unpack Fehler. Haben Sie eine Idee, wie ich das Problem beheben kann?

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        

for field, possible_values in fields:  # error happens on this line

-1voto

Es kann nicht direkt im Wörterbuch iteriert werden. Sie können also durch Umwandlung in Tupel .

first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
         } 
tup_field=tuple(fields.items())
for names in fields.items():
     field,possible_values = names
     tup_possible_values=tuple(possible_values)
     for pvalue in tup_possible_values:
           print (field + "is" + pvalue)

-1voto

ishandutta2007 Punkte 14498

In Python3 iteritems() wird nicht mehr unterstützt

Utilice .items

for field, possible_values in fields.items():
    print(field, possible_values)

-1voto

benleroter Punkte 9

Ich dachte nur, ich werfe das mal ein. Ich habe die "zu viele Werte zu entpacken (erwartet 2)" crop up heute. Ärgerlich, aber es lag an einem fehlenden Komma in einer Auswahlliste.

CapTextureChoices = [
("initial", ""),
("Shaggy", "Shaggy"),
("Wrinkled", "Wrinkled"),
("Striate," "Striate"),
("Downy", "Downy")
]

das fehlende Komma zwischen "Striate" und "Striate" war der Grund dafür

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X