1
votes

Syntaxe du dictionnaire imbriqué

J'écris le code de programme pour enregistrer le stock dans la liste imbriquée dans un dictionnaire en utilisant le code comme clé (par exemple, '3AB' ) et la valeur est une liste contenant les informations sur le stock sans le code (par exemple, ["Telcom", "12/07/2018", 1.55, 3000] ). Mon code de programme doit également pouvoir accéder aux éléments de la liste imbriquée.

Cependant, lorsque j'exécute mon code, il continue de rencontrer des erreurs de syntaxe. Puis-je vérifier ce qui ne va pas avec mon code?

stock = {

3AB: {'Name': 'Telcom', 'Purchase Date': '12/12/2018', 'Price': '1.55', 'Volume':'3000'},

S12: {'Name': 'S&P', 'Purchase Date': '12/08/2018', 'Price': '3.25', 'Volume': '2000'},

AE1: {'Name': 'A ENG', 'Purchase Date': '04/03/2018', 'Price': '1.45', 'Volume': '5000'}

}


print(stock[3AB]['Name'])

print(stock[S12]['Name'])

print(stock[AE1]['Name'])


2 commentaires

Ce n'est pas une structure de données Python valide, qu'est-ce que 3AB ? Voulez-vous dire '3AB' ?


Essayez '3AB': {'Name': 'Telcom', 'Purchase Date': '12 / 12/2018 ',' Price ':' 1.55 ',' Volume ':' 3000 '},


3 Réponses :


0
votes


0 commentaires

0
votes

la clé doit être hachable.votre clé 3AB doit être une chaîne.changez en '3AB', les autres sont identiques à 3AB.


0 commentaires

0
votes

Vous avez l'erreur:

SyntaxError: syntaxe invalide

parce que votre dictionnaire était indéchiffrable. ie Clé littérale non valide 3AB , la syntaxe correcte, étant '3AB' :

Telcom
S&P
A ENG

SORTIE:

stock = {

'3AB': {'Name': 'Telcom', 'Purchase Date': '12/12/2018', 'Price': '1.55', 'Volume':'3000'},

'S12': {'Name': 'S&P', 'Purchase Date': '12/08/2018', 'Price': '3.25', 'Volume': '2000'},

'AE1': {'Name': 'A ENG', 'Purchase Date': '04/03/2018', 'Price': '1.45', 'Volume': '5000'}

}


print(stock['3AB']['Name'])

print(stock['S12']['Name'])

print(stock['AE1']['Name'])


0 commentaires