Python - diccionario aleatorio

 
Vista:

diccionario aleatorio

Publicado por Marisa (4 intervenciones) el 19/04/2015 06:43:20
Hola,
Utilizando diccionarios necesito elaborar un programa en el que se calcula la frecuencia con que se repiten 10 palabras de una lista previamente definida. después necesito sacar la moda de dichos valores e imprimir la palabra que se identifica con la moda.
Ahora, no se si debo de generar una lista y descargar la biblioteca random y asignarle un valor aleatorio (convertirlo en mis values) a cada elemento de mi lista (convertirla en mi key). Ya creado mi diccionario, hacer que me de la moda de los values e imprimir la key relacionada con el valor de la moda.
O, existe alguna biblioteca que genere un diccionario random y de ahí pueda generar la moda de los values de ese diccionario.
Lo primero que se me ocurrio fue esto, pero no me varia los values (siempre me da el mismo numero). Claramente tengo un error.
1
2
3
4
5
6
7
import random
lista = [#lista de 10 elementos]
y = random.randint(0,50)
dicc ={}
for x in lista:
    dicc.setdefault(x,y)
print dicc

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

diccionario aleatorio

Publicado por xve (1646 intervenciones) el 19/04/2015 10:58:09
Hola Maria, no entiendo muy bien... a que te refieres con "sacar la moda"??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diccionario aleatorio

Publicado por Marisa (4 intervenciones) el 19/04/2015 15:51:55
la moda es el elemento que mas se repite dentro de un conjunto. Por ejemplo si tienes una lista con : 2,5,3,7,4,2,6,3,7,2,4,5,2,6. la moda es 2 porque es el numero que mas se repite dentro de la lista. entonces lo que tengo que hacer es mostrar el valor dentro de la lista de 10 palabras que mas se repita (la moda). pero eso lo tengo que hacer con diccionarios, y pues para que pueda tener variedad, se me ocurrió lo que puse antes. Espero quede mas claro, el probármela es que tengo clara la idea, pero no conozco todas las herramientas de python para poder hacer el programa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

diccionario aleatorio

Publicado por xve (1646 intervenciones) el 20/04/2015 08:00:57
Hola Maria, te pido perdón, pero no acabo de entender que quieres hacer...

Viendo tu código de arriba, no entiendo que intentas hacer...

Nos puedes poner un ejemplo de como seria el diccionario y que resultado quieres obtener?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diccionario aleatorio

Publicado por Marissa (4 intervenciones) el 22/04/2015 05:16:28
Tengo una lista definida como lista = ["a", "b", "d", "f", "g", "a", "g", "d", "a", "d"] y Quiero un diccionario como este DICC = {a: 2, b: 1, d: 3, f: 1, g: 2}.Los valores de este diccionario son el número de veces que el elemento de la lista se repite en la lista. He probado lo siguiente pero no sé qué poner en el # .

1
2
3
4
lista =  [ "a" , "b" , "d" , "f" , "g" , "a" , "g" , "d" , "a" , "d" ]
dicc = dict ( zip ( list ,[#  for x in range (# , len ( list ))])) 
print dicc
DICC =  { a : 2 , b : 1 , d : 3 , f : 1 , g : 2 }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

diccionario aleatorio

Publicado por xve (1646 intervenciones) el 22/04/2015 08:38:11
Hola Marissa, la verdad es que no entiendo tu código, y no me funciona... la manera simple que veo es:
1
2
3
4
5
6
lista = [ "a" , "b" , "d" , "f" , "g" , "a" , "g" , "d" , "a" , "d" ]
x={}
 
for i in lista:
     x[i]=lista.count(i)
print x

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

diccionario aleatorio

Publicado por marissa (4 intervenciones) el 22/04/2015 21:39:22
si me sirvió mucho gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar