循环中词典莫名变化

使用问题 · 497 次浏览
用户5396077354... 创建于 2024-01-15 22:05

第0次和第1次循环中词典变化(没有修改词典的语句),第0次正常循环,词典不变,第1次时候将“论文格式修改"对应的键值删除了

(在循环之前对“论文格式修改"中的键值进行修改,添加了“1111111调试 ”的项,然后进行图片中的循环)

注:图片之前没有出现问题

https://temp.getquicker.net/423011/1e66825b9b874ad2a408a904e606c5d4.html


回复内容
沉没的白鲸 2024-01-15 22:29
#1

词典操作 - Quicker  https://getquicker.net/kc/help/doc/dictoperations  可能是因为引用列表变量。

但是为什么在图片第0次或其他循环中没有出现这个问题,而在第1次中出现了呢

https://temp.getquicker.net/59771/d967258048994ac1934ea764a66288de.html     “1111111调试”是在{列表词典}的“论文格式修改”键里面。

在第 1 次循环的末尾,给{列表词典}的“论文格式修改”键setOriginValue 了{当前目录}是列表变量,所以“论文格式修改”键是引用的列表,导致第 3 次循环的第 1 次循环时 “清空列表 {备用列表}”的操作会因为引用导致 “论文格式修改”键被清空。所以你截图里面 第 3 次循环的第 2 次循环看起来“论文格式修改”键是空的[]。

为了验证,我弄了个测试,{列表词典}的4个键有两个是用列表变量setOriginValue,后两个没动过, 然后对每个键进行赋值、清空的操作,结果用列表变量setOriginValue的“目录”“论文逻辑或者语言修改”果然会被清空,另外两个不会变。

哦哦哦,感谢

回复主贴