Extraire une valeur d'un tableau

Alain -  
mamiemando Messages postés 33772 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 ?

A voir également:

3 réponses

_Ritchi_ Messages postés 21333 Date d'inscription   Statut Contributeur Dernière intervention   6 104
 

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
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
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 

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