百思不得其解啊
为什么一个字典的读取可以是:
ContactWT_Dict = {'ContactWT_Dict1':0,'ContactWT_Dict2':0,'ContactWT_Dict3':0,'ContactWT_Dict4':0,'ContactWT_Dict5':0}
ContactWT_Dict = ContactWT_Dict["ContactWT_Dict" + str(1)]
print(ContactWT_Dict)
但如果用一个循环套起来:
ContactWT_Dict = {'ContactWT_Dict1':0,'ContactWT_Dict2':0,'ContactWT_Dict3':0,'ContactWT_Dict4':0,'ContactWT_Dict5':0}
for i in range(1,10):
ContactWT_Dict = ContactWT_Dict["ContactWT_Dict" + str(1)]
print(ContactWT_Dict)
第一次读取正常成功,第二次却会提示q:Traceback (most recent call last):
File "C:/Users/liuhen/Desktop/SLA Simulator/Test4.py", line 57, in
ContactWT_Dict = ContactWT_Dict["ContactWT_Dict" + str(1)]
TypeError: 'int' object is not subscriptable
QAQ
因为你在循环内吧原字典替换了,原字典内就没有其他键了
可以修改为
ContactWT_Dict = {'ContactWT_Dict1':0,'ContactWT_Dict2':0,'ContactWT_Dict3':0,'ContactWT_Dict4':0,'ContactWT_Dict5':0}
for i in range(1,6):
ContactWT_Dictx = ContactWT_Dict["ContactWT_Dict" + str(i)]
print(ContactWT_Dictx)
有帮助望采纳