Comment déterminer efficacement la présence d'une sous-liste dans une liste Python ?

Linda Hamilton
Libérer: 2024-10-26 18:01:03
original
252 Les gens l'ont consulté

How to Efficiently Determine Sublist Presence in a Python List?

Détermination de la présence d'une sous-liste dans une liste Python

Pour vérifier si une sous-liste existe dans une liste plus grande, on peut utiliser la puissance de la programmation fonctionnelle en Python. Voici une fonction concise qui accomplit cela :

<code class="python">def contains_sublist(lst, sublst):
    n = len(sublst)
    return any((sublst == lst[i:i+n]) for i in range(len(lst)-n+1))</code>
Copier après la connexion

La fonction fonctionne en parcourant la plus grande liste lst, en commençant à l'index i et en comparant une tranche de longueur n (la longueur de la sous-liste) avec la sous-liste sublst. Si l'une de ces tranches correspond à sublst, la fonction renvoie True. Sinon, il renvoie False.

Considérez les exemples suivants :

<code class="python">lst1 = [1,0,1,1,1,0,0]
lst2 = [1,0,1,0,1,0,1]

sublistExists(lst1, [1,1,1]) == True
sublistExists(lst2, [1,1,1]) == False</code>
Copier après la connexion

La fonction fonctionne dans une complexité temporelle O(m*n), où m est la longueur de la plus grande liste et n est la longueur de la sous-liste. Il exploite la fonction any() pour quitter efficacement dès la première correspondance, garantissant ainsi l'efficacité des calculs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!