[英]how to assign key and value of dictionary to different variables iteratively in python
我有這本詞典
myDict = {'key1' : 'val1', 'key2' : 'val2', 'key3' : 'val3'}
我反復使用'myDict'的'key'和'value'來創建檢查和單選按鈕。
for key, value in myDict.items():
myDict[key] = Variable()
myDict[value] = Variable()
c = Checkbutton(root, text=key, variable=myDict[key], onvalue=key, offvalue="").pack(anchor=W)
Radiobutton(root, text='radio1', variable=myDict[value], value=1).pack(anchor=E)
Radiobutton(root, text='radio2', variable=myDict[value], value=2).pack(anchor=E)
var_list.append(myDict[key]) #var_list is an empty list defined already
print(var_list)
我收到了這個錯誤
Traceback (most recent call last):
File "Check_box_lis_0305.py", line 21, in <module>
for key, value in myDict.items():
RuntimeError: dictionary changed size during iteration
你能幫我解決這個問題嗎?
checks = {}
radios = {}
for key, value in myDict.items():
checks[key] = Variable()
radios[key] = Variable()
c = Checkbutton(root, text=key, variable=checks[key], onvalue=key, offvalue="").pack(anchor=W)
Radiobutton(root, text='radio1', variable=radios[key], value=1).pack(anchor=E)
Radiobutton(root, text='radio2', variable=radios[key], value=2).pack(anchor=E)
var_list.append(checks[key]) #var_list is an empty list defined already
print(var_list)
現在,當您收到點擊事件時, checks[key]
將具有選中按鈕的值,而radios[key]
將具有單選按鈕的選擇。 我不確定你為什么需要var_list
。
問題是您在 for 循環期間使用
myDict[key] = Variable()
myDict[value] = Variable()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.