【问题标题】:Iterative Variable Modification (In a Loop) - Python迭代变量修改(在循环中)- Python
【发布时间】:2014-11-09 16:14:54
【问题描述】:
variable_1 = "Dummy String"
variable_2 = "Dummy String"
variable_3 = "Dummy String"

for each in range(3):
    variable_(each+1) = "Another Dummy String"

对于我要解决的问题,上述语法不正确。

此代码的目的是在修改变量内容之前将数字 1-3 附加到变量名称的末尾。

在循环运行时 - 对于值 0 - 值 0 + 1 (1) 应附加到 'variable_' 产生 variable_1。

我的问题是:这在 Python 中是可能的吗? (更具体地说是 Python 2.7.8),和/或是否有更实用的方法来实现类似的结果?

【问题讨论】:

    标签: python loops variables dynamic iteration


    【解决方案1】:

    通常,您希望使用一个列表而不是一堆不同的类似名称的变量:

    variables = ['Dummy String'] * 3
    for i in range(3):
        variables[i] = 'Another Dummy String'
    

    看看 Ned Batchelder 的"keep data out of your variable names"

    【讨论】:

    • 我不相信一个列表会适用于我正在尝试做的事情。 variables[i] 将访问存储在列表项中的信息,但我无法将每个列表项上的方法作为单独的变量运行。变量[i].configure 与。 variable_1.configure
    • 可以使用globals()['variable_%d' % i] = 'Another Dummy String'——但这只能在全局命名空间中使用,而且确实不是正确的方法。 . .
    猜你喜欢
    • 2012-08-02
    • 2015-04-21
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多