-1
votes

Comment appeler des opérateurs de comparaison de la liste

hi je veux installer une sorte de comparateur réglable où un élément d'une liste A est comparé à un élément d'une liste valeurs avec un opérateur qui est lu à partir de une liste opérateurs xxx


6 commentaires

Ok, alors vous nous demandez de l'écrire pour vous? Vous n'avez pas montré aucune tentative de mise en œuvre.


Et vous avez des crochets non équilibrés ...


Avez-vous suivi un coup d'oeil à EVAL ?


@ Scratch'n'purr Vous avez-vous suivi un coup d'œil à eval vraiment est dangereux ?


@ROGANJOSH Je comprends les risques d'évaluation, mais ses listes n'incluent pas de valeurs ou de variables dangereuses.


@ Scratch'n'purr sûr, mais a) Cela pourrait être un exemple de contreveille, nous ne savons pas où ces valeurs proviennent réellement dans le programme réel et b) Ce message peut arriver dans une recherche de toute personne résolvant tout problème. dans le futur.


4 Réponses :


1
votes

semble que vous avez besoin de moyen programmatique d'appeler des opérateurs de comparaison, opérateur module fera le travail. Soit construire la liste des fonctions de l'opérateur ou établir des panneaux indiquant la mappage de l'opérateur via dict


0 commentaires

0
votes
for i in range(len(a)):
    eval(str(a[i])+b[i]+str(c[i]))

0 commentaires


1
votes

Utilisation de EVAL Même dans une situation, il est instable, mais s'il ne considère que votre cas, cela fonctionne comme prévu et une meilleure solution est symbole xxx


2 commentaires

Je suis vraiment surpris que vous ayez suggéré eval ici plutôt que de mapper les opérations au module ou suggérant symbole ou ... Littéralement quelque chose que éventuellement


@ROGANJOSH Je remarque que cela aussi, j'ai juste besoin de temps pour savoir ce que j'ai utilisé avant