【问题标题】:What would this concept be called?这个概念应该叫什么?
【发布时间】:2013-08-13 22:21:50
【问题描述】:

我正在尝试在代码中做某事,但它不起作用,我什至不确定要谷歌搜索什么。 实际情况是在 python 中使用 tkinter,但这里有一个简单的例子来说明这一点。

我想创建一堆变量,所以我制作了一个元组列表:

vars = [('var1', 'value1'), ('var2', 'value2')]

然后我想使用这样的语法:

for item in vars:
    item[0] = item[1]

这将使item[0] 等于'value1'。我想要它做的是使var1 等于'value1'

我希望它清楚我想要做什么。一旦我能得到正确方向的提示,我觉得它甚至微不足道。

这是在 python 中,但我认为这个概念更普遍。

谢谢

【问题讨论】:

  • 您的意思是要动态设置在vars 列表中命名的局部变量?一般来说,你不会那样做。改用字典来查找这些名称。
  • “动态命名变量”可能是您正在寻找的名称,但它几乎总是一个坏主意。

标签: python variables concept


【解决方案1】:

您可以为此使用字典:

d = dict(vars)

然后您可以通过执行d['var1'] 访问var1,这将为您提供value1

【讨论】:

  • 如果您有一个想要转换为 dict 的对列表,并且您不需要对这些值进行任何额外的工作,d = dict(vars) 就会这样做。如果您想应用简单的转换,例如,字典推导也很好。 d = {key: 2 * value for key, value in vars}
  • 很棒,效果很好。所以我想要字典而不是元组。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
相关资源
最近更新 更多