Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: fenix2000 en 5 Noviembre 2017, 19:49 pm



Título: Python problema listas
Publicado por: fenix2000 en 5 Noviembre 2017, 19:49 pm
Buenas, me han propuesto resolver el siguiente ejercicio en python:
Con una lista en la cual hay otros elementos listas  fijar con el valor cero todos los elementos mayores a 50 del primer elemento de "lista".
Para ello usé este código
Código
  1. lista=[[100,7,85,8], [4,8,56,25], [67,89,23,1], [78,56]]
  2.  
  3. print(lista)
  4.  
  5. for x in range(len(lista[0])):
  6.    if lista[0][x]>50:
  7.        lista[0][x]=0
  8.  
  9. print
  10. (lista)
y sin problema pero después me paré a pensar y quise hacer algo parecido pero con cada elemento "lista" y intenté esto:
Código
  1. lista = [[100,7,85,8],[4,8,56,25], [67,89,23,1], [78,56]]
  2. for x in range(len(lista[x])):
  3.    for k in range(len(lista[x][k])):
  4.        if lista[x][k] > 50:
  5.            lista[x][k] = 0
  6. print(lista)
  7. print(lista)
  8.  
Pero me da el siguiente error,  line 2, in <module>
    for x in range(len(lista
  • )):
NameError: name 'x' is not defined
¿Alguien podría ayudarme? Gracias por su tiempo


Título: Re: Python problema listas
Publicado por: engel lex en 5 Noviembre 2017, 20:08 pm
Código
  1. for x in range(len(lista[x]))

y quien es lista
  • ?

es

Código
  1. for x in range(len(lista)): #quieres navegar toda la lista
  2.    for k in range(len(lista[x])): #quieres navegador el elemento x de la lista


Título: Re: Python problema listas
Publicado por: fenix2000 en 5 Noviembre 2017, 20:27 pm
Gracias Engel  :D
Ese cuadradito es lista[ x ], no se por qué aparece así.
Saludos!