values python3 for create python dictionary loops

python3 - python iterate dictionary values



Python: iterar a través de un diccionario me da "int object no iterable" (3)

La sintaxis for k, v es una forma abreviada de la notación de desempaquetado de tuplas, y podría escribirse como for (k, v) . Esto significa que se espera que cada elemento de la colección iterada sea una secuencia que consta exactamente de dos elementos. Pero la iteración en los diccionarios produce solo claves, no valores.

La solución es usar dict.items() o dict.iteritems() (variante diferida), que devuelve la secuencia de tuplas de clave-valor.

Aquí está mi función:

def printSubnetCountList(countList): print type(countList) for k, v in countList: if value: print "Subnet %d: %d" % key, value

Aquí está el resultado cuando se llama a la función con el diccionario que se le pasó:

<type ''dict''> Traceback (most recent call last): File "compareScans.py", line 81, in <module> printSubnetCountList(subnetCountOld) File "compareScans.py", line 70, in printSubnetCountList for k, v in countList: TypeError: ''int'' object is not iterable

¿Algunas ideas?


No puede iterar un dict como este. Ver ejemplo:

def printSubnetCountList(countList): print type(countList) for k in countList: if countList[k]: print "Subnet %d: %d" % k, countList[k]