【问题标题】:automatically set vars' names python自动设置变量的名称python
【发布时间】:2012-12-22 08:12:23
【问题描述】:

我正在开发 python 程序,我想要这样的东西:

for i in range(1,n+1):
    var(a+str(i)) = input()
    #do something

所以变量是a1,a2,a3等。 这可以做到吗?如何做到?

【问题讨论】:

  • 你为什么要那个?改用字典!为什么这个问题被赞成?什么原因?
  • 您应该熟悉从零开始编号的概念。需要通过像 range(1,n+1) 而不是 range(n) 这样的扭曲应该提醒你你做错了什么。
  • 我需要在多个地方使用 'i',所以我必须在其他地方放置 (i+1)。所以 range(1,n+1) 在这种情况下使代码更短...

标签: python variables loops


【解决方案1】:

你不想那样做,相信我。你想用字典

vars = {}
for i in range(1,n+1):
    vars[i] = input()
    #do something

或者,因为在您的特殊情况下所有数字都是连续的,所以一个列表:

vars = [None]  #  initialize vars[0] with None
for i in range(n):
    vars.append(input())
    #do something

现在您可以访问vars[2]vars[5] 等变量。

【讨论】:

  • (当然,vars 是一个很糟糕的变量名——你应该改用一个有意义的名字。这只是一个例子。)
猜你喜欢
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多