Extraire une valeur d'un tableau

Alain -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

J'essaie d'extraire la valeur qui correspond à une lettre dans un tableau Python par exemple

A 2
B 3
C 4

En tapant A je souhaiterais extraire 2 par exemple.

Quelqu'un peut il m'aider s'il vous plaît ?

3 réponses

  1. _Ritchi_ Messages postés 21130 Date d'inscription   Statut Contributeur Dernière intervention   6 135
     

    Bonjour,

    Pour t’aider, il faudrait que tu donnes le code que tu as commencé à écrire. Ainsi, on pourra voir comment tu as abordé le problème et te guider vers une méthode.

    Ritchi

    0
  2. PierrotLeFou
     

    Tu ne donnes pas de précision sur la forme de ton tableau.
    Est-ce une liste de chaînes (str)?
    Il faut parcourir la liste, et regarder si le premier élément de la sous-chaîne correspond à ce qu'on cherche.
    Si c'est le cas, on extrait le second élément.

    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     

    Bonjour,

    En supposant que dans ton fichier, la première colonne fait office de clé, tu peux lire ton fichier CSV ligne par ligne, le stocker dans un dictionnaire dont la clé correspond à la première colonne et la valeur correspond à la seconde colonne.

    from io import StringIO
    import csv
    
    def read_csv(f):
        rows = csv.reader(f, delimiter=' ')
        return {
            row[0] : row[1]
            for row in rows
        }
    
    # Loading data
    s = StringIO("""A 2
    B 3
    C 4""")
    d = read_csv(s)
    
    # Querying data
    print(d)
    print("Press ctrl+c to exit")
    while True:
        try:
            k = input("key? ")
        except KeyboardInterrupt:
            break
        v = d.get(k)
        print(f"value = {v}")
    print("Bye")

    Exécution :

    {'A': '2', 'B': '3', 'C': '4'}
    Press ctrl+c to exit
    key? A
    value = 2
    key? B
    value = 3
    key? C
    value = 4
    key? D
    value = None
    key? ^CBye
    

    Remarque : Si tu veux lire les données à partir d'un fichier, remplace la section "Loading data" par ceci :

    with open("toto.csv", "r"):
        d = read_csv(f)
    

    Bonne chance

    0