簡體   English   中英

嵌套字典語法

[英]Nested Dictionary Syntax

我正在編寫程序代碼,以使用代碼作為鍵(例如'3AB' )將嵌套列表中的股票記錄到字典中,並且值是一個包含不帶代碼的股票信息的列表(例如["Telcom", "12/07/2018", 1.55, 3000] )。 我的程序代碼還必須能夠訪問嵌套列表中的元素。

但是,當我運行我的代碼時,它不斷出現語法錯誤。 我可以檢查我的代碼有什么問題嗎?

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'])

用這個

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'])

它將引發錯誤,因為在您的代碼中將3AB視為找不到的變量,因此您需要將其作為字符串傳遞給''

鍵必須是可哈希的。您的鍵3AB必須是字符串。更改為“ 3AB”,其他鍵與3AB相同。

您收到錯誤:

SyntaxError:語法無效

因為您的字典無法散列。 即無效的文字鍵3AB ,正確的語法為'3AB'

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'])

輸出:

Telcom
S&P
A ENG

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM