1
votes

comparaison entre liste et tuple / liste

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'


0 commentaires

4 Réponses :


0
votes

J'ai peut-être manqué stg, mais cela fonctionnerait-il?

for i in b:
    print(i, dict(a)[i])


0 commentaires

0
votes

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)


6 commentaires

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



1
votes
for entry in a:
    if entry[0] in b:
        print(entry)

0 commentaires

1
votes

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]


0 commentaires