如何在Python中找到带有字符串列表的预先存在的变量?

时间:2014-09-28 18:27:17

标签: python string list variables blit

如何在Python中找到包含字符串列表的预先存在的变量?

我有一个字符串列表,例如:

letters = ["C", "A", "M", "P"]

和一组预先存在的变量,例如:

C = pygame.image.load("resources/menu icons/imgC.png")
A = pygame.image.load("resources/menu icons/imgA.png")
M = pygame.image.load("resources/menu icons/imgM.png")
P = pygame.image.load("resources/menu icons/imgP.png")

我正在寻找一个命令,如:

surface.blit(letters[0])

在屏幕上显示图像。 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

我可能会去找字典。

d = {
    'C': pygame.image.load("resources/menu icons/imgC.png"),
    'A': pygame.image.load("resources/menu icons/imgA.png"),
    'M': pygame.image.load("resources/menu icons/imgM.png"),
    'P': pygame.image.load("resources/menu icons/imgP.png")
    }

然后你可以这样看东西

d['A']

或者

d[letters[1]]

答案 1 :(得分:1)

网络方法的优势在于可以使命名空间更有条理,但了解globals也很有用,您可以使用它来执行此操作:

surface.blit(globals()[letters[0]])

(假设CAMP在全局命名空间中定义。如果它们是局部变量,则可以使用vars()代替globals()。)