【问题标题】:How to declare multiple similar variables in python? [duplicate]如何在python中声明多个相似的变量? [复制]
【发布时间】:2019-03-15 14:50:59
【问题描述】:

如何声明从 slider1 到 slider50 计数的多个(大约 50 个)变量?有没有一种有效的方法,比如用 for 循环?

slider1 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider2 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider3 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider4 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider5 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider6 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider7 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider8 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider9 = models.IntegerField(widget=widgets.Slider, default=50, label="")
slider10 = models.IntegerField(widget=widgets.Slider, default=50, label="")

【问题讨论】:

  • 简短的回答是:不要动态声明单个变量,而是使用键值对创建像字典一样的对象
  • sliders = [models.IntegerField(widget=widgets.Slider, default=50, label="") for _ in range(50)]

标签: python loops variables


【解决方案1】:

我建议使用字典来完成这项任务:

d = {}

for x in range(1,10):
        d["slider{0}".format(x)]= models.IntegerField(widget=widgets.Slider, default=50, label="")

【讨论】:

  • 如果名字没有意义,只是同一个名字后面加一个数字,list会更合适。
  • 如果名称没有意义,是的。如果它们有意义......不:)这是一个特定的要求,所以我假设它们确实有意义。
猜你喜欢
  • 2013-12-11
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2018-03-12
  • 2017-10-06
  • 2013-04-30
  • 2013-01-15
  • 1970-01-01
相关资源
最近更新 更多