[英]Python - save variables as keys and values to dict
我有一個測驗,其中class
是用戶的班級(1,2 或 3), name
是用戶的姓名, score
是用戶的分數。 如果同一用戶再次完成測驗, class
和name
將相同,但score
會有所不同。
我想要做的是將數據存儲為:
scores_class1 = {
'myname': [5, 4, 5, 10, 9],
'otherperson': [10],
}
如果用戶在第 1 類,他的name
和score
將存儲在名為scores_class1
的字典中,而不是上面格式的scores_class2
或scores_class3
。 此外,如果用戶已經參加過一次測驗,它只會將他的分數添加到列表中,而不是創建重復的鍵。
您不能使變量名動態化,但是您可以從 class_num=2 構造一個字符串(不能使用類,保留字)並將該名稱用作字典中的鍵:
from collections import defaultdict
classes = defaultdict(dict)
class_num = 2
classes['scores_class%s' % class_num]['myname'] = [5, 4, 5, 10, 9]
classes['scores_class%s' % class_num]['otherperson'] = [10]
結果將是:
defaultdict(<type 'dict'>, {'scores_class2': {'myname': [5, 4, 5, 10, 9], 'otherperson': [10]}})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.