我正在嘗試使用嵌套字典獲取學校所有學生的資訊。但是當我嘗試將用戶定義的值分配給內部字典的鍵時,它回傳型別錯誤。
所有資訊都在字典中,其中內部字典用于學校的每個“班級”。這是最小的可重現示例
#n is the number of classes in the school
n=2
school_info = {}
for j in range(1, n 1):
school_info[j] = input("name of the class:-")
for i in range(0, 2):
if i == 0:
k = "student_name :-"
elif i == 1:
k = "roll_number"
school_info [j][i] = input(k)
TypeError: 'str' object does not support item assignment
但是沒有被分配另一個值的字串。school_info[j][i]是內部字典的鍵,其值是用戶定義的。
uj5u.com熱心網友回復:
評價這個結果
school_info[j] = input("name of the class:-")
不允許你以后這樣做:
school_info [j][i] = input(k)
因為school_info[j]將是 a str(呼叫的回傳值input)而不是 a dict。
看起來你想在這里使用嵌套字典,所以也許你想要的是這樣的:
for j in range(1, n 1):
answer = input("name of the class:-")
school_info[answer] = {}
for i in range(0, 2):
if i == 0:
k = "student_name :-"
elif i == 1:
k = "roll_number"
school_info[answer][i] = input(k)
誠然,這是一種猜測,基于您所擁有的,并且在您擁有一些有效的東西后,您可能會找到其他方法來實作您想要的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386377.html
上一篇:使用字典對檔案進行搜索和替換
下一篇:隨機選擇類別內的字典條目數?
