【问题标题】:Call variable from two concatenated strings Python从两个连接的字符串 Python 调用变量
【发布时间】:2012-11-28 19:54:18
【问题描述】:

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

【问题讨论】:

  • 如果你发现自己在做something_1something_2、...something_x,你总是想要一个列表。这是一种常见的反模式。同样,something_agesomething_height 等...你想要一个字典或一个类。

标签: python variables concatenation


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    不,没有“创建”变量名并访问它们的好方法。

    但是,您可以只使用一个列表,然后将其编入索引。

    【讨论】:

    • @Lattyware 有什么好的方法可以做到这一点?我实际上从未见过这个(虽然我担心它会出现在这个页面上,以防有人以错误的方式使用它)。
    • 或者,如果它们是类或对象的成员,getattr
    • @Xymotech StevenRumbalski & abarnert 击败了我。这是做坏事的最好方法(通常人们会尝试使用exec() 来做这件事,这是不好的方法)。
    猜你喜欢
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多