Trouver l'index d'une liste dans une liste Python
Résolu
Fab121205
Messages postés
81
Date d'inscription
Statut
Membre
Dernière intervention
-
Fab121205 Messages postés 81 Date d'inscription Statut Membre Dernière intervention -
Fab121205 Messages postés 81 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travaille sur une application Python et j'ai un petit soucis que je ne sais pas comment résoudre. Cela concerne les listes en Python.
J'ai une liste qui contient des listes du type :
[[34, "text", 345], [37, "text", 567], ....]
et j'aimerai pouvoir trouver l'index de la liste qui a comme premier élément 34 par exemple. J'ai cherché sur internet et la solution pour une simple liste serait la méthode list.index(). Cependant je n'ai pas trouvé comment faire pour que cette méthode cherche uniquement pour le 1er argument.
Si quelqu'un sait comment faire, ce serait avec plaisir.
Bonne journée.
Je travaille sur une application Python et j'ai un petit soucis que je ne sais pas comment résoudre. Cela concerne les listes en Python.
J'ai une liste qui contient des listes du type :
[[34, "text", 345], [37, "text", 567], ....]
et j'aimerai pouvoir trouver l'index de la liste qui a comme premier élément 34 par exemple. J'ai cherché sur internet et la solution pour une simple liste serait la méthode list.index(). Cependant je n'ai pas trouvé comment faire pour que cette méthode cherche uniquement pour le 1er argument.
Si quelqu'un sait comment faire, ce serait avec plaisir.
Bonne journée.
A voir également:
- Trouver l'index d'une liste dans une liste Python
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Voir liste d'amis facebook - Guide
- Trouver adresse mac - Guide
2 réponses
Bonjour,
Il te faut assimiler l'utilisation d'un double indice A[i][j].
Un peu de vocabulaire :
Un tuple : L1('aaa','bbb'), un tuple de tuples, 2D : L2(('aaa','bbb'),('aaa','bbb')) accéder aux données : L1[0] , L2[1][0]
Un tableau : T1['aaa','bbb'], un tableau de tableaux, 2D : T2[[aaa','bbb'],['aaa','bbb']] accéder aux données : T1[0] , T2[1][0]
(dans Python list en anglais, est souvent traduit liste, ou certains utilisent tableau)
La grande différence, un tuple est non modifiable alors qu'un tableau l'est, le tuple est défini par des parenthèses (), le tableau par des crochets [], et pour les 2 on utilise la même syntaxe pour accéder à une donnée de base [i]
Au moins sur les tuples et tableaux tu devrais approfondir : https://pixees.fr/informatiquelycee/n_site/nsi_prem_pythonSequence.html
Comme tu veux la 1ère valeur de ton tableau, il faut donner des bornes début, fin à index()
Ou sans utiliser list()
Il te faut assimiler l'utilisation d'un double indice A[i][j].
Un peu de vocabulaire :
Un tuple : L1('aaa','bbb'), un tuple de tuples, 2D : L2(('aaa','bbb'),('aaa','bbb')) accéder aux données : L1[0] , L2[1][0]
Un tableau : T1['aaa','bbb'], un tableau de tableaux, 2D : T2[[aaa','bbb'],['aaa','bbb']] accéder aux données : T1[0] , T2[1][0]
(dans Python list en anglais, est souvent traduit liste, ou certains utilisent tableau)
La grande différence, un tuple est non modifiable alors qu'un tableau l'est, le tuple est défini par des parenthèses (), le tableau par des crochets [], et pour les 2 on utilise la même syntaxe pour accéder à une donnée de base [i]
Au moins sur les tuples et tableaux tu devrais approfondir : https://pixees.fr/informatiquelycee/n_site/nsi_prem_pythonSequence.html
Comme tu veux la 1ère valeur de ton tableau, il faut donner des bornes début, fin à index()
t = [ [34, "text", 345], [37, "text", 567], [345, 'text', 78] ] for i in range(len(t)): try: print(i,t[i],t[i].index(345,0,1)) break except ValueError: pass
Ou sans utiliser list()
t = [ [34, "text", 345], [37, "text", 567], [345, 'text', 78] ] for i in range(len(t)): if t[i][0] == 345: print(i,t[i])
Merci,
je vais en effet utiliser une boucle "for", c'est gentil mais c'était pas la peine de rajouter la théorie sur les listes et tuples :)
Je voulais juste savoir si il existait une méthode prédéfinie qui faisait cela. C'était probable vu qu'il existe la méthode index() qui fait cela pour une liste simple.
Par exemple la méthode sort() des listes permet de spécifier exactement ce que l'on veut trier (même dans les listes intriquées) à l'aide d'une lambda.
Bonne journée.
je vais en effet utiliser une boucle "for", c'est gentil mais c'était pas la peine de rajouter la théorie sur les listes et tuples :)
Je voulais juste savoir si il existait une méthode prédéfinie qui faisait cela. C'était probable vu qu'il existe la méthode index() qui fait cela pour une liste simple.
Par exemple la méthode sort() des listes permet de spécifier exactement ce que l'on veut trier (même dans les listes intriquées) à l'aide d'une lambda.
Bonne journée.
Je voulais savoir si il existait une méthode prédéfinie qui faisait cela. C'était probable vu qu'il existe la méthode index() qui fait cela pour une liste simple.
Par exemple la méthode sort() des listes permet de spécifier exactement ce que l'on veut trier (même dans les listes intriquées) à l'aide d'une lambda.
Bonne journée.