【问题标题】:Iteratively renaming objects in python [duplicate]在python中迭代地重命名对象[重复]
【发布时间】:2021-04-30 09:27:49
【问题描述】:

有没有办法在 python 中迭代地重命名对象?我正在尝试编写以下代码:

for i in range(5000):
phat_i = i/5000
print(i/5000)

这似乎不起作用,因为即使这创建了一个名为“phat_i”的新对象,它似乎也会为每个“i”重新定义该对象。相反,我想为每个“i”创建新对象“phat_1”、“phat_2”等。

我已经看过这个问题,但它的唯一答案似乎没有回答我的问题。 Maya Python: Renaming object with for loops

【问题讨论】:

  • 动态创建变量通常是个坏主意。
  • 这能回答你的问题吗? Dynamically Create Variables in For Loop, Python
  • 这样的帖子有几十个^^^,其中大多数通常都说同样的话:不要动态创建变量。这样做的充分理由为零,并且可能有几十种方法可以通过更安全的方式实现您的需求。

标签: python


【解决方案1】:

eval()exec() 可以使用,但它们是不好的做法,因为它们可以被利用。

我建议使用字典。

phat_ = {}
for i in range(5000):
    phat_[i] = i/5000

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 2012-07-23
    • 2018-09-20
    • 2013-10-15
    • 2014-04-16
    • 2018-11-29
    • 1970-01-01
    • 2016-05-11
    • 2020-05-18
    相关资源
    最近更新 更多