Introducción
A veces necesitamos saber si un elemento o un valor están dentro de una lista, arreglo o array en Python. Puede que haya necesidad de simplemente saber si existe, pero también es posible que necesitemos obtener la posición de un elemento, es decir, su índice.
Hoy veremos cómo hacerlo en Python, para comprobar si elemento existe en arreglo, así como para obtener el índice de determinado valor.
Comprobar si elemento existe
Utilizamos para ello el operador in, que devuelve un booleano indicando la existencia del valor dentro del arreglo. Así:
lista = [1, 50, 30]
if 50 in lista: # Imprime lo de abajo
print("El número 50 existe en la lista")
otra_lista = ["perro", "gato", "conejo"]
if "caballo" in otra_lista: #No imprime nada
print("caballo existe dentro de otra_lista")
Como vemos, no importa si nuestro arreglo o lista es de tipo cadena o entero. Eso sí, deben ser datos primitivos.
Obtener índice de elemento
Si queremos obtener el índice o posición, usamos el método index de las listas. Así:
lista = [1, 50, 30]
indice = lista.index(50)
print("El número 50 está en la posición {} de la lista".format(indice))
Al ejecutarlo, imprime la posición 1 (recordemos que los valores de la lista comienzan en 0).
Importante es recordar que se generará un error si el elemento no existe en la lista. Para manejarlo, podemos hacer algo así:
otra_lista = ["perro", "gato", "conejo"]
try:
otro_indice = otra_lista.index("caballo")
print("caballo está en la posición {} de otra_lista".format(otro_indice))
except:
print("Lo siento, caballo no está en la lista")
En ese caso, se genera una excepción; pues el elemento no existe en la lista. Con eso terminamos por hoy.
hola tengo el siguiente problema necesito comparar un numero de coma flotante con elementos de una lista: [1.5,2.5,4,6,10,16,25,35,50,70,95,120,150,180,240] entonces quiero que mi programa recorra esta lista y compare con el numero , si es mayor o igual que estos rangos recomiende un tipo de calibre comercial para cables en mm^2 disponibles en esta tabla.
anchura = 40
area_mm2 = [1.5,2.5,4,6,10,16,25,35,50,70,95,120,150,180,240]#se crea lista comercial
for j in range(anchura):
print(“* “, end=””)
print()
text1=”script para calcular dado un calibre en AWG pasarlo a”
text2=”calibre en mm^2 de seccion entre 1–15 calibre AWG”
print(text1)
print(text2)
awg = float(input(“ingresa el calibre AWG a convertir : “)) #formato para convertir el texto a flotante y poder realizar los calculos
s_0 =float((36-awg)/39)
s_1=(92**s_0)
sec=((0.0635*s_1)**2)*3.14
print(“la seccion es: “,”{:7.3f}”.format(sec) ) #fomateo con 7 digitos y con espacios
for num in area_mm2:
num1= area_mm2[num]
return
if num1 >= sec:
print(“el calibre recomendado es”,num1)
for j in range(anchura):
print(“* “, end=””)
#print()
el problema ocurre cuando comparo la variable num1 con sec, me arroja un error como puedo solucionarlo.?
Hola. ¿Cuál es el error que aparece? por cierto, te recomiendo pegar tu código en gist.github.com o en pastebin; así tendrás resaltado de sintaxis y no se quitarán algunos caracteres especiales
Gracias
Pingback: Comprobar si elemento existe en arreglo de Javascript - Parzibyte's blog - El blog de Luis Cabrera