2012-11-28 27 views
1

我有一些代码可以生成两个字符串 - digit_和'x',其中x是一个整数。我的直觉是这是一个愚蠢的问题,但我无法在网上找到答案。我有变量名为digit_1,digit_2 ...等等digit_9。我如何在不使用真正长的if/elif函数的情况下调用其中正确的一个?有没有从它的名字连接调用变量的方法? Sam从两个连接字符串调用变量Python

+1

如果你发现自己在做'something_1'',''something_2'',...''something_x'',你总是需要一个列表。这是一种常见的反模式。同样用“something_age”,“something_height”等......你需要一本字典或一个类。 –

回答

5

最简洁的方法是将变量放入列表或字典中,然后通过索引或名称访问它们。

+0

好主意谢谢。 –

1

不,没有一种很好的方式来“创建”变量名称并访问它们。

但是,您可以使用列表,并将其替换为索引。

+2

有很好的方法来做到这一点,这只是一件坏事。 –

+0

@Lattyware有什么好办法做到这一点?我其实从来没有见过这样的(虽然我担心它会出现在这个页面上,以防有人以错误的方式使用它)。 – Xymostech

+1

'locals()[varname]' –