74 votes

Comment vérifier si un élément d'une liste est une liste (en Python) ?

Si nous avons la liste suivante :

 list = ['UMM', 'Uma', ['Ulaster','Ulter']]

Si j'ai besoin de savoir si un élément de la liste est lui-même une liste, par quoi puis-je remplacer aValidList dans le code suivant ?

 for e in list:
    if e == aValidList:
        return True

Y a-t-il un import spécial à utiliser ? Existe-t-il un meilleur moyen de vérifier si une variable/un élément est une liste ?

136voto

warvariuc Points 11787

Utiliser isinstance :

 if isinstance(e, list):

Si vous voulez vérifier qu'un objet est une liste ou un tuple, passez plusieurs classes à isinstance :

 if isinstance(e, (list, tuple)):

11voto

danihp Points 15682

L'expression que vous recherchez peut être :

 ...
return any( isinstance(e, list) for e in my_list )

Essai:

 >>> my_list = [1,2]
>>> any( isinstance(e, list) for e in my_list )
False
>>> my_list = [1,2, [3,4,5]]
>>> any( isinstance(e, list) for e in my_list )
True
>>> 

3voto

Sameer Points 91

Probablement, une manière plus intuitive serait comme ceci

 if type(e) is list:
    print('Found a list element inside the list') 

0voto

Khyar Ali Points 5

vous pouvez simplement écrire :

 for item,i in zip(your_list, range(len(your_list)):

    if type(item) == list:
        print(f"{item} at index {i} is a list")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X