J'ai une liste comme
l[i] = ""
7 Réponses :
Essayez:
if l[i]: print 'Found element!' else: print 'Empty element.'
Ceci est le chemin.
Contrairement dans certains Laguages, Pour faire une vérification d'égalité, vous utilisez généralement l'opérateur vide code> n'est pas un mot-clé à Python. Les listes de python sont construites forment la mise à la terre, donc si l'élément
i code> a une valeur, puis élément
i-1 code> a une valeur, pour tous les
i> 0 code>.
== code> p>
>>> my_list = ["asdf", 0, 42, '', None, True, "LOLOL"]
>>> my_list[0] == "asdf"
True
>>> my_list[4] is None
True
>>> my_list[2] == "the universe"
False
>>> my_list[3]
""
>>> my_list[3] == ""
True
Outre certaines erreurs de syntaxe dans votre réponse (fixe), c'est une mauvaise idée d'apprendre aux gens à utiliser le mot-clé code> pour les tests d'égalité. Il est utilisé pour les tests d'identité d'objet (et rien d'autre). Sinon, Vous êtes pour une certaine confusion A >.
Mon erreur, pour une raison quelconque, j'étais sous l'impression que Aucun code> Comparaisons utilisés
est code>. Peut-être que c'est quelque chose que je me suis souvenu de php ou quelque chose ...
Oui, car il n'y a qu'un seul objet Aucun code>, vous utilisez donc l'opérateur code> code> pour tester explicitement l'identité d'objet.
Si je déclare l.append (aucun), l [i] n'est pas ne fonctionnerait, mais je lisais hors d'un fichier et l.append (Linecache.getline (Daysi, numéro)) crée un nouvel élément mais il ne peut pas être prouvé si Il est vide en utilisant "None Aucun".
Ensuite, vous voulez le dernier cas où my_list [3] == '' code>. Astuce: Avez-vous fabriqué pour dépenser des nouvelles lignes et autres espaces avec
mystring.strip () code>?
Si vous voulez savoir si l'élément de liste à l'index si vous recherchez quelque chose Comme ce qui est un pointeur null ou une référence nulle dans d'autres langues, Python vous offre i code> est défini ou non, vous pouvez simplement vérifier les éléments suivants:
Aucun code>. C'est vous pouvez écrire: p>
Vérifiez simplement que cet élément est égal au type Aucun ou n'utilisez pas l'opérateur, ce qui équivaut au type NULL que vous observez dans d'autres langues.
if not A[i]: ## do whatever
Supposons afin que nous puissions voir l'index 1 est vide. p> p> de sortie- 1 est vide code> p>
J'ai entouré cela avec Liste des éléments reviendront comme un entier lorsqu'il est enveloppé dans len () code> et un simple
si / else code> instruction.
len () code> (1 pour présent, 0 pour absent) p>
List = [] for item in List: if len(item.rstrip()) != 0: # Do whatever you want This will be useful if you have long string list with some whitespace and you're not considering those list values.
Une liste vide est une liste sans éléments (
len (l) == 0 code>). Considérez que cela serait vrai:
l = [""]; l [0] == "" code> comme aurait
l = [aucun]; l [0] n'est pas code>. Maintenant, quel est le but / l'intention? :)
Ceci est légèrement ambigu. Par "vide", voulez-vous dire que l'index existe, mais est la chaîne vide? Ou que cela n'existe pas du tout, par ex. Le nombre d'éléments est inférieur à votre index?
Avez-vous essayé l'opérateur de comparaison d'égalité? Comme:
l [0] == "" code>
Vous ne pouvez pas simplement dire "x n'a pas fonctionné". Quelle était la comparaison spécifique que vous avez faite? Quelle erreur avez-vous obtenu?
Je sais que l'élément l [i] existe, mais comment puis-je vérifier si la chaîne est vide? (J'ai aussi testé L [i] == "" et cela ne fonctionne pas.)
@bdhar c'est comme ça que je l'ai fait maintenant. Merci!