Buscar valores en Python
Python ofrece varias formas de buscar valores en strings, listas y diccionarios. Aquí tienes las más habituales.
El operador in
La forma más directa. Devuelve un booleano.
sentence = 'Todos esos momentos se perderán en el tiempo, como lágrimas en la lluvia.'
word = 'tiempo'
if word in sentence:
print('La palabra está en la frase')
# Output: La palabra está en la frase
También funciona con listas:
nums = [34, 12, 89, 345, 92, 7]
if 12 in nums:
print('El número está en la lista')
# Output: El número está en la lista
index() — obtener la posición de un elemento
index() devuelve el índice de la primera aparición del valor. Si el valor no existe lanza una excepción ValueError.
fruits = ['manzana', 'pera', 'uva', 'manzana']
print(fruits.index('uva'))
# Output: 2
También funciona con strings:
word = 'javascript'
print(word.index('script'))
# Output: 4
find() — buscar en strings sin excepciones
find() funciona como index() pero en lugar de lanzar una excepción devuelve -1 si el valor no se encuentra. Solo está disponible para strings.
url = 'https://www.netinetidesign.com'
print(url.find('www')) # Output: 8
print(url.find('ftp')) # Output: -1
dict.get() — buscar en diccionarios
Para diccionarios, get() es más seguro que acceder directamente por clave porque no lanza excepción si la clave no existe, sino que devuelve None o el valor por defecto que le indiques.
user = {'name': 'Marcel', 'role': 'developer'}
print(user.get('name')) # Output: Marcel
print(user.get('age')) # Output: None
print(user.get('age', 'unknown')) # Output: unknown
filter() — buscar elementos que cumplen una condición
filter() aplica una función a cada elemento de un iterable y devuelve solo los que cumplen la condición.
nums = [1, 2, 3, 4, 5, 6, 7, 8]
evens = list(filter(lambda n: n % 2 == 0, nums))
print(evens)
# Output: [2, 4, 6, 8]
Posteado en Programación con : Python