valor recorrer operaciones elementos ejemplo diccionarios diccionario dentro con buscar agregar python

recorrer - operaciones con diccionarios python



''demasiados valores para descomprimir'', iterando sobre un dict. clave=> cadena, valor=> lista (8)

En Python3 iteritems() ya no es compatible

SOLUCIÓN 1 :

Utilizar .items

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

SOLUCIÓN2 :

Puedes usar enumerate() también

for field, possible_values in enumerate(fields): print(field, possible_values)

Recibo el error ''too many values to unpack'' . ¿Alguna idea de cómo puedo arreglar esto?

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


Necesitas usar algo como iteritems .

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

Consulte esta respuesta para obtener más información sobre la iteración a través de diccionarios, como el uso de items() , en versiones de python.

EDITAR
Dado que Python 3 iteritems () ya no es compatible . Use items () en su lugar.

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


No se puede iterar directamente en el diccionario. Así que puedes a través de la conversión en tupla .

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)


Para Python 3.x se han eliminado los iteritems . Use items lugar.

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


Para listas, use enumerate

for field, possible_values in enumerate(fields): print(field, possible_values)

iteritems no funcionará para objetos de lista


Quieres usar iteritems . Esto devuelve un iterador sobre el diccionario, que le da una tupla (clave, valor)

>>> for field, values in fields.iteritems(): ... print field, values ... first_names [''foo'', ''bar''] last_name [''gravy'', ''snowman'']

Tu problema fue que pasabas por los campos, lo que devuelve las claves del diccionario.

>>> for field in fields: ... print field ... first_names last_name


le falta fields.iteritems() en su código.

También puede hacerlo de otra manera, donde obtiene valores utilizando las claves del diccionario.

for key in fields: value = fields[key]


data = ([''President'',''George'',''Bush'',''is'',''.''],[''O'',''B-PERSON'',''I-PERSON'',''O'',''O'']) corpus = [] for(doc,tags) in data: doc_tag = [] for word,tag in zip(doc,tags): doc_tag.append((word,tag)) corpus.append(doc_tag) print(corpus)