Comment trouver un aucun dans une liste imbriquée. Lorsque j'exécute le code suivant, le bonjour n'est pas imprimé. Je ne sais pas comment repérer une personne dans la liste d'une liste. Pouvez-vous m'aider avec cette question simple.
myList = [[0,1,2],[5,None,300]] if None in myList: print("Hello")
4 Réponses :
Ceci est fondamentalement un cas particulier de Comment créer une liste d'appartements sur la liste des listes? ; Vous devez l'aplatiser pour effectuer le test. Dans ce cas, la meilleure approche consiste à utiliser itheroTools.chain code> pour faire l'aplativement, ce qui vous permet d'utiliser le test
dans code> de test de court-circuit (il s'arrête lorsque Il trouve un
Aucun code>, aucun travail n'est effectué pour les éléments suivants):
from itertools import chain
myList = [[0,1,2],[5,None,300]]
if None in chain.from_iterable(myList):
print("Hello")
Vous pouvez utiliser n'importe quel: ou itheroTools.chain code>: p>
S'il vous plaît, faites attention à l'indentation:
for inner_list in myList: for item in inner_list: if item is None: print('hello')
it article est 0 ceci imprimera bonjour
myList = [[0,1,2],[5,None,300]] for x in myList: if None in x: print("Hello") Note that this will print once for every "None" found.
Je m'attendrais à ce que l'indentation soit vraiment comme celle-ci que vous obtiendriez une erreur à ce sujet si la déclaration.
Essayez-vous simplement de trouver cela ou avez-vous besoin des données manipulées d'une certaine manière?
Comme les réponses indiquent, vous devez itérer sur une liste dans votre myList - "pour la liste de la liste de myList", puis vérifiez-en aucune dans la "liste" résultante.
Merci beaucoup pour les solutions! J'utilisais la bonne indentation, mais je ne savais pas comment itération sur la liste des listes.