首页 > 解决方案 > Python - 是否可以使用不同的变量来引用多个不同的变量?

问题描述

抱歉,如果标题令人困惑,但我想不出更好的措辞。我正在制作一个带有友谊系统的游戏,这基本上就是我想要做的:

playerChar = "Adam";
opinion_[playerChar]_Betty = 20;

以便稍后我可以检查

if opinion_Adam_Betty == 20;

playerChar可以设置为Adam, Betty, 或Carmen.

所以 ifplayerChar设置为Adam, then opinion_[playerChar]_Bettyandopinion_Adam_Betty实际上会引用同一个变量,但如果playerChar设置为Carmen,opinion_[playerChar]_Betty将引用该变量opinion_Carmen_Betty,并且不再是与 . 相同的变量opinion_Adam_Betty

本质上,我希望opinion_[playerChar]_Betty能够根据变量playerChar的设置来引用不同的变量。不确定这是否可能(或者我只是让事情过于复杂),但如果是的话,它会让一些事情对我来说超级方便。

标签: python

解决方案


听起来你想使用嵌套字典。使用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")

推荐阅读