La idea es leer un archivo de texto donde hay datos. Estos datos se guardan en una lista:
Código Python:
Ver original
lista = [5, 5, 5, 3, 6, 1, 5, 7, 1, 7, 5, 5, 3, 7, 6, 7, 2, 6, 1, 6]
Ahora creo un diccionario donde cada clave toma el valor hasta el máximo dato de la lista:
Código Python:
Ver original
# generamos las claves de 1-7 dic = {} for x in range(1, 8): dic[x] = []
Código Python:
Ver original
dic {1: [], 2: [], 3: [], 4: [], 5: [], 6: [], 7: []}
Lo que yo quiero, es que al recorrer las claves del diccionario, cada valor se empareje con su clave. Y quede un dibujo asi:
Código Python:
Ver original
dic {1: [1,1,1], 2: [2], 3: [3,3], 4: [], 5: [5,5,5,5,5,5], 6: [6,6,6,6], 7: [7,7,7,7]}
Se trata de rellenar cada clave con la cantidad de valores de la lista de su mismo número.
El cuerpo del for sería este:
Código Python:
Ver original
for x in lista: for j in dic.keys():
En este cuerpo se debería comprobar si x == j. De ser así, se añadiría al valor de su clave correspondiente. Si fuera una lista, lo tendria fácil con el método append. Pero al ser un valor de una clave, no se como añadir mas elementos dentro de esa misma clave.
Pero me he estancado. No puedo utilizar una lista en los valores. Ya que al ser por referencia, me cambia los valores de todas las claves.
Y si hago:
Código Python:
Ver original
dic[1] = [1]
...no se como añadir mas elementos a la lista de cada clave.
¿Alguna ídea?
P.D. Tendré que usar mas los diccionarios...