为什么在运行是字典ai_settings.cm会变为列表
时间: 2024-03-22 14:42:39 浏览: 43
微软常用运行库合集_2019.07.20_X64.rar
在这段代码中,`ai_settings.cm` 变成列表的原因可能是因为在代码的后面,我们向 `ai_settings.cm` 中添加了一些键值对,这些键值对可能是以列表的形式添加的,而不是以字典的形式添加的。
例如,如果我们使用以下代码向 `ai_settings.cm` 中添加一个键值对:
```
ai_settings.cm[yi*9+yj] = [(ai_settings.now_x[i] / 50)*9+ai_settings.now_y[i] / 50]
```
则键 `yi*9+yj` 对应的值是一个列表,而不是一个字典。如果这种情况发生了很多次,那么 `ai_settings.cm` 就可能变成一个包含多个列表的列表。
可以通过以下代码检查 `ai_settings.cm` 是否为列表类型:
```
print(type(ai_settings.cm))
```
如果输出结果是 `<class 'list'>`,那么 `ai_settings.cm` 是一个列表类型的变量。在这种情况下, `ai_settings.cm` 是在运行时被赋值为一个列表类型的变量。如果我们希望确保 `ai_settings.cm` 始终是一个字典类型的变量,可以在代码中添加以下行:
```
ai_settings.cm = {}
```
这将在代码的每次运行时将 `ai_settings.cm` 重置为一个空字典。
阅读全文