"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo comprobar de manera eficiente la presencia de elementos de lista en una cadena de Python?

¿Cómo comprobar de manera eficiente la presencia de elementos de lista en una cadena de Python?

Publicado el 2024-11-08
Navegar:503

How to Efficiently Check for List Element Presence in a Python String?

Comprobación de la presencia de elementos de lista en una cadena en Python

Una tarea común en la programación de Python es verificar si una cadena incluye un elemento de un determinado lista. Un enfoque tradicional emplea un bucle for, como se ejemplifica en el siguiente código:

extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)

Aunque es funcional, este método puede parecer engorroso. Un enfoque más conciso implica utilizar un generador junto con la función any(), que evalúa sus argumentos hasta encontrar el primer Verdadero:

if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)

Usar formato de cadena

Alternativamente, si el orden de los elementos en la lista es importante, se puede emplear el formato de cadena. Por ejemplo:

url_string = 'sample.doc'
extensionsToCheck = ['.pdf', '.doc', '.xls']

if f'.{url_string.split(".")[-1]}' in extensionsToCheck:
    print(url_string)

Aquí, el método .split() separa la cadena URL según el punto, y el índice [-1] selecciona el último elemento, que representa la extensión del archivo. Luego, la cadena f formatea la extensión en la forma correcta para comparar.

Nota: El uso de any() en este contexto solo verifica si algún elemento de la lista está presente en la cadena, independientemente de su posición. Si la ubicación específica del elemento es importante, se deben considerar métodos más precisos, como funciones de manipulación de cadenas o expresiones regulares.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3