Python - Error al pasar una lista como parametro a funcion

   
Vista:

Error al pasar una lista como parametro a funcion

Publicado por nohose (9 intervenciones) el 22/01/2015 14:58:00
Buenas...
Intento pasar una variable lista como parametro a una funcion pero me sale un error. Perdonad,si cabe mi inexperiencia en el lenguaje.
A continuacion os muesto el código y el tipo de error :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import random
 
def cuenta(listado):
	secuencia={}
	for i in range(len(listado)):
		if listado[i] in secuencia:
			secuencia[listado[i]]+=1
		else:
			secuencia[listado[i]]=1
	print(secuencia)
 
 
import random
lista=[]
 
intervalo=range(1,10) # Intervalo de 1 a 100
listado=[]
for x in range(2):
	listado.append(random.sample(intervalo,8))
	lista=lista+listado
	listado=[]
cuenta(lista)


El error que me muestra el el siguiente :

Traceback <most recent call last>:
File "genera.py", line 24, in <module>
cuenta<lista>
File "genera.py", line 9, in cuenta
if lista[i] in secuencia:
TypeError: unhashable type: 'list'

Gracias de antemano
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

Error al pasar una lista como parametro a funcion

Publicado por xve (1235 intervenciones) el 22/01/2015 21:01:37
Hola, el problema que tienes, es que lista[0] equivale a [2, 9, 4, 7, 8, 6, 3, 5], y esto no lo puedes utilizar en un if ... in ......

Para utilizarlo en un if, tienes que ser un valor, no una lista.
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