Je travaille sur un projet en python et j'ai besoin de tester si une liste existe déjà dans une autre ... classique !
Sauf que ma liste à tester contient 16 éléments : [12, 5, 8, 7, 0 ..., 14, 15] (par exemple), la deuxième liste est une liste de listes avec chacune 16 éléments ou plus (une suite de mouvements est ajoutée) : [ [1, 3, 6, ..., 14, 0, "h", "b", "d", ...] , [12, 5, 8, 7, 0 ..., 14, 15, "b", "b", "d", "h"] , [4, 15, 6, 7, 0, 3..., 8, 9, "h", "g", "g", ...] , ... ]
j'aimerai savoir si ma liste de 16 éléments est déjà le début d'une des listes enregistrées ! une syntaxe pour linux genre : if (listA in listB[*][0:16]) ... j'espère être claire
A savoir que ma liste principale est super grande, donc le coup du for marcherai mais c'est super long !
Merci pour cette response, j'essaye ca rapidement !
Le contexte est que je viens de finir la résolution d'un jeu de taquin mais suivant la complexité de la grille, le programme met plus ou moins longtemps
J'aimerai enviter de faire deux fois la même chose et vérifier qu'une grille n'a pas déjà était faite. Le problème est que j'ajoute aussi les mouvement à la suite de cette liste pour avoir mon historique. D'où le souhait de vouloir uniquement les 16 premiers éléments de chaque liste (puisque les mouvements dans ce cas ne sont pas importants)
Utiliser if ( in ) sur une sous partie d'une list
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
entwanne — @entwanne — Un zeste de Python — La POO en Python — Notions de Python avancées — Les secrets d'un code pythonique