Extraire une valeur d'un tableau

Fermé
Alain - Modifié le 8 nov. 2022 à 15:43
mamiemando Messages postés 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 - 8 nov. 2022 à 15:53

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 21293 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 26 novembre 2024 6 080
5 nov. 2022 à 17:20

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
5 nov. 2022 à 17:24

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 33407 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 29 novembre 2024 7 806
Modifié le 8 nov. 2022 à 15:54

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