0
votes

Comment trouver l'élément qui correspond à la condition de Python?

J'ai 4 éléments A, B, C, D et je ne connais pas les valeurs d'A, B, C, D. Mais je connais les valeurs que A, B, C, D peut-on avoir dans la gamme (1,4). Être plus spécifique a peut être 1 ou 2 ou 3 ou 4. même appliqué pour b, c, d.

Je veux vérifier lequel de ces (A, B, C, D) a la valeur 1 et afficher cet élément.

Par exemple, si c = 1, je veux que C soit affiché.

Comment puis-je faire cela dans Python?


4 commentaires

Les éléments sont-ils uniques en valeur? Et si b et c étaient les deux 1?


Qu'avez-vous fait jusqu'à présent?


Bienvenue dans le débordement de la pile! Nous sommes prêts à vous aider, mais nous ne sommes pas clairvoyants. Veuillez prendre le temps de prendre le tour et lisez sur Comment demander , puis Modifier la question en conséquence. Veuillez créer un exemple minimal, complet et vérifiable , et donnez des échantillons d'entrée, des sorties et des messages d'erreur que vous obtenez, le cas échéant. Cela nous aidera à déterminer ce qui se passe et améliorera vos chances d'obtenir une réponse.


C'est ce que j'ai: a_tag = 1 b_tag = 2 c_tag = 3 d_tag ​​= 4 valeurs d'étiquette sont uniques. La balise qui a la valeur 1 devient la balise de noms. Pour ce faire, la question a été posée.


3 Réponses :


0
votes

en supposant que vous regardez le dictionnaire xxx

comment direct: xxx

qui devrait imprimer "C" et "D"


0 commentaires

0
votes

Le moyen simple de testerait chaque variable:

itervar = None  # If this does not exist the following will crash
for itervar in locals():
    if locals()[itervar] == x:
        print(itervar)


3 commentaires

a = 1 b = 3 c = 2 d = 4 #my_dict = {'A': A, 'B': B, 'C': C, 'D': D} MY_DICT = [A, B, C, D ] x = 1 correspondant_elements = [k pour k dans my_dict si my_dict [k] == x] Imprimer (correspondant_éléments) ---- Pourquoi pensez-vous que cela ne fonctionne pas?


En supposant que j'ai interprété correctement votre code, vous créez une liste contenant les valeurs de A , b , , c et d : [1, 3, 2, 4] . Vous demandez ensuite à Python d'imprimer la valeur k dans la liste telle que la position k th de la liste contient une valeur égale à x .


L'interprète fait ensuite: correspondant_elements = [] k = 1 si my_dict [k] == 1: # Nope, my_dict [1] est b et B est 3 # aussi my_dict est une liste `correspondant_éléments.append (k) # non exécuté` k = 3 ... > # rien ne correspond, mais ce ne serait pas ce que vous essayez d'obtenir de toute façon obtenir de toute façon k = 4 si ma_dict [4] ... # !!! my_dict [4] n'existe pas! et le script se placent de se plaindre de index de liste hors de portée



0
votes

essayer d'utiliser Pandas . Plus précisément, les pandas Série

import pandas as pd

numbers = {'a':2,'b':4,'c':1,'d':3}

numseries = pd.Series(numbers)

boolseries = numseries == 1

print(list(numseries.index[boolseries]))


0 commentaires