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í:
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í:
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í:
En ese caso, se genera una excepción; pues el elemento no existe en la lista. Con eso terminamos por hoy.
Mira más tutoriales de Python aquí.
4 Comentarios
pablo · noviembre 6, 2019 a las 2:03 pm
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.?
parzibyte · noviembre 6, 2019 a las 4:26 pm
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
Ana Caballero Herrera · febrero 2, 2019 a las 8:00 am
Gracias
Comprobar si elemento existe en arreglo de Javascript - Parzibyte's blog - El blog de Luis Cabrera · abril 20, 2018 a las 9:05 pm
[…] y que recibe el valor a buscar. Devuelve la posición del elemento, o -1 si no lo encuentra. A diferencia de Python, éste no genera ninguna […]