Vérifiez si tous les éléments d'un tableau dans un autre tableau
J'ai ces deux tableaux:
A = [1,2,3,4,5,6,7,8,9,0]
Et:
B = [4,5,6,7]
Est-il un moyen de vérifier si B est une sous-liste dans le même ordre exact des éléments?
l'ordre de la liste est à préserver, à droite?
L'ordre des éléments de B est la même que la partie qui l'inclut dans Une, si c'est que votre question.
Je crois qu'il a du demander à n'importe quel ordre les éléments sont dans? Par exemple... Serait-B=[4,6,5,7] être tout aussi bon, ou est de l'ordre de la matière?
L'ordre des éléments A et B de questions. C'est comme voir si B est une coupe de la liste A.
L'ordre des éléments de B est la même que la partie qui l'inclut dans Une, si c'est que votre question.
Je crois qu'il a du demander à n'importe quel ordre les éléments sont dans? Par exemple... Serait-B=[4,6,5,7] être tout aussi bon, ou est de l'ordre de la matière?
L'ordre des éléments A et B de questions. C'est comme voir si B est une coupe de la liste A.
OriginalL'auteur MonsieurGalois | 2013-12-26
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet:
Résultat:
OriginalL'auteur Akavall
issubset devrait vous aider à
par exemple:
edit: mal, cette solution n'implique pas l'ordre des éléments!
notez également que set([]).issubset(set([1,2,3])) évalue à True
cela fonctionne aussi avec des tableaux de chaînes de caractères
OriginalL'auteur LPH
À l'aide de découpage:
Quelque chose comme cela va fonctionner si votre Un est plus grand que B.
range(len(A)-len(B)+1)
à la place.OriginalL'auteur apai
Je préfère utiliser
index
pour identifier le point de départ. Avec ce petit exemple, il est plus rapide que l'itératif solutions:Fois avec cette sont assez constant indépendamment de la
B
(long, court, présent ou non). Fois pour l'itératif solutions varient avec oùB
commence.De le rendre plus robuste, je l'ai testé contre
qui est plus longue, et répète valeurs.
OriginalL'auteur hpaulj
OriginalL'auteur Dmitry Dubovitsky