python - Python - 是否可以使用不同的变量来引用多个不同的变量?
问题描述
抱歉,如果标题令人困惑,但我想不出更好的措辞。我正在制作一个带有友谊系统的游戏,这基本上就是我想要做的:
playerChar = "Adam";
opinion_[playerChar]_Betty = 20;
以便稍后我可以检查
if opinion_Adam_Betty == 20;
playerChar
可以设置为Adam
, Betty
, 或Carmen
.
所以 ifplayerChar
设置为Adam
, then opinion_[playerChar]_Betty
andopinion_Adam_Betty
实际上会引用同一个变量,但如果playerChar
设置为Carmen
,opinion_[playerChar]_Betty
将引用该变量opinion_Carmen_Betty
,并且不再是与 . 相同的变量opinion_Adam_Betty
。
本质上,我希望opinion_[playerChar]_Betty
能够根据变量playerChar
的设置来引用不同的变量。不确定这是否可能(或者我只是让事情过于复杂),但如果是的话,它会让一些事情对我来说超级方便。
解决方案
听起来你想使用嵌套字典。使用defaultdict
专门为您节省了一堆初始化工作:
from collections import defaultdict
opinion = defaultdict(lambda: defaultdict(int))
playerChar = "Adam"
opinion[playerChar]["Betty"] = 20
if opinion["Adam"]["Betty"] == 20:
print("Adam likes Betty <3")
if opinion["Betty"]["Adam"] < 20:
print("it's not mutual tho </3")
推荐阅读
- regex - 如何捕获由不同字符组成的整个组?
- xcode - macOS Mojave:有没有办法在暗模式下调试应用程序?
- java - 计算小于 N 的以 2 为底的对数的最大 int
- javascript - 为什么我在测试中得到“Ajax 授权失败”
- java - 如何用 Java 编写 JUnit 测试,检查一个特定的打印,该打印依赖于循环中的用户输入
- javascript - 我想在 React 中修改表中的值
- css - FlatList中具有纵横比的中心项目 - React Native
- c++ - 是否可以为我们不知道参数数量和类型的函数动态创建和存储指针?
- c - 您可以使用 C 阵列“破解”窗口,还是以某种方式安全?
- azure - AzureAD MaxAgeSessionMultiFactor 不工作