Comment vérifier si un tuple existe dans une liste Python?
Je suis nouveau sur Python, et je suis en train de vérifier si une paire [a,b]
existe dans une liste l=[[a,b],[c,d],[d,e]]
. J'ai cherché sur beaucoup de questions, mais ne pouvait pas trouver de solution précise. Svp quelqu'un peut me dire le droit et plus court moyen de le faire?
quand je le lance :
a=[['1','2'],['1','3']]
for i in range(3):
for j in range(3):
if [i,j] in a:
print a
DE SORTIE EST VIDE
comment atteindre cet objectif?
Votre code fonctionne pour moi, la sortie est
Ah, après que vous avez modifié le code, il est tout à fait évident,
désolé, je voulais que cela, je n'ai pas l'écrire correctement
pouvez-vous me dire comment le faire maintenant..?
[[1,2], [1,3]]
comme prévu.Ah, après que vous avez modifié le code, il est tout à fait évident,
[1,2]
!= ['1','2']
.désolé, je voulais que cela, je n'ai pas l'écrire correctement
pouvez-vous me dire comment le faire maintenant..?
OriginalL'auteur sum2000 | 2012-03-11
Vous devez vous connecter pour publier un commentaire.
Le code ne fonctionne pas car
'1' != 1
et, par conséquent,['1','2'] != [1,2]
Si vous voulez que cela fonctionne, essayez:
(Mais l'utilisation de
in
ou définit comme déjà mentionné, c'est mieux)OriginalL'auteur bereal
Voici un exemple:
Si vous avez besoin de faire beaucoup de fois considérer l'utilisation d'un
set
bien, parce que c'est beaucoup plus rapide de confinement vérifier.i in range(3):
etfor j in range(3)
et puis d'essayer de les pour[i,j] in a
....mais ce n'est pas l'identificationposte le code complet.
OriginalL'auteur orlp
Dans mon interprète (IPython 0.10, Python 2.7.2+) votre code donne de bons résultats:
(Ce qui devrait être un commentaire, mais je ne peux pas les laisser encore).
EDIT:
S'avère que vous aviez des chaînes dans le
a
liste.Ensuite, vous avez besoin de convertir votre
int
s àstr
ainsi:OriginalL'auteur Lev Levitsky
Ce code fonctionne très bien pour moi:
Je ne suis pas sûr de ce qui est erroné avec votre code. Pour sûr qu'il manque des '] " dans la première ligne.
OriginalL'auteur Adam
N'oubliez pas que [a, b] n'est pas [b, a] en python, vous pouvez donc commander les 2 valeurs dans votre tuples si vous voulez à considérer [A, B] et [B, A] est le même:
Vous pouvez également utiliser ensemble(your_list) si votre liste est gros et il a de la redondance.
Dans votre exemple de code vous compaing des entiers et des chaînes :
OriginalL'auteur Félix Cantournet