Python problema listas

Iniciado por fenix2000, 5 Noviembre 2017, 19:49 PM

0 Miembros y 1 Visitante están viendo este tema.

fenix2000

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 (python) [Seleccionar]

lista=[[100,7,85,8], [4,8,56,25], [67,89,23,1], [78,56]]

print(lista)

for x in range(len(lista[0])):
    if lista[0][x]>50:
        lista[0][x]=0

print
(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 (python) [Seleccionar]

lista = [[100,7,85,8],[4,8,56,25], [67,89,23,1], [78,56]]
for x in range(len(lista[x])):
    for k in range(len(lista[x][k])):
        if lista[x][k] > 50:
            lista[x][k] = 0
print(lista)
print(lista)

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
El mismo martillo que rompe el cristal forja el acero

engel lex

Código (python) [Seleccionar]
for x in range(len(lista[x]))

y quien es lista
  • ?

    es

    Código (python) [Seleccionar]
    for x in range(len(lista)): #quieres navegar toda la lista
        for k in range(len(lista[x])): #quieres navegador el elemento x de la lista
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

fenix2000

Gracias Engel  :D

  • Ese cuadradito es lista[ x ], no se por qué aparece así.
    Saludos!

El mismo martillo que rompe el cristal forja el acero