J'essaie de comparer un élément de liste avec un tuple et s'il correspond, je veux imprimer cette ligne entière à partir d'un tuple.
comme:
'lily', ' L2 Gi 10 UP 88 02' 'rose', ' L2 Gi 10 UP 95 00'
4 Réponses :
J'ai peut-être manqué stg, mais cela fonctionnerait-il?
for i in b: print(i, dict(a)[i])
try:
a = [('rose', ' L2 Gi 10 UP 95 00'), ('marri',' L2 Gi 10 UP 82 00'), ('lily', ' L2 Gi 10 UP 88 02'), ('dafo', ' L2 Te 10 UP 99 00'), ('sunflower', '101')] b = ['lily', 'rose'] for bb in b: values = [x for x in a if x[0] == bb] print(values)
qui vous donne
[('lily', ' L2 Gi 10 UP 88 02')] [('rose', ' L2 Gi 10 UP 95 00')]
le code complet:
for bb in b: values = [x for x in a if x[0] == bb] print(values)
désolé mais il donne une liste vide :-(
swap b = {'lily', 'rose'} en b = ['lily', 'rose']
@sonali J'ai ajouté le code complet que j'ai exécuté sur mon terminal, pouvez-vous copier et coller et voir si cela fonctionne pour vous? vous pouvez avoir un problème de formatage.
si b = {'lily', 'rose'} comme ceci, ce code fonctionnera-t-il aussi pour cela.
@sonali J'ai juste essayé et cela a fonctionné sur le mien, mais ce n'est pas la bonne façon d'écrire une liste .. vous utilisez '{}' pour déclarer des dictionnaires et '[]' pour des listes.
@sonali heureux de l'entendre et pas de soucis! Assurez-vous simplement de marquer la question comme répondue
for entry in a: if entry[0] in b: print(entry)
Voici une version en une ligne de la réponse d'Anna
values = [x for bb in b for x in a if x[0] == bb]