如何使用循环命名变量?例如,如果我想让变量 double_1 = 2 , double_2 = 4 一直到 double_12 =
24
,我该怎么写?我感觉会是这样的:
for x in range(1, 13):
double_x = x * 2
#I want the x in double_x to count up, e.g double_1, double_2, double_3
显然,这是行不通的,但是将循环号实现为变量名的正确语法是什么?我已经有一段时间没有编码了,但是我确实记得有一种方法可以做到这一点。
请改用字典。例如:
doubles = dict()
for x in range(1, 13):
doubles[x] = x * 2
或者,如果您 绝对 必须 这样做
,并且仅在完全了解您正在
做的事情的情况下,才可以将locals()
as指定给字典:
>>> for x in range(1, 13):
... locals()['double_{0}'.format(x)] = x * 2
...
>>> double_3
6
但是 ,永远 都不会有这样做的理由-因为您应该 改用字典!
问题内容: 我想知道Python中是否存在这样的循环命名系统。我曾多次遇到过确实需要从内循环跳出外循环的情况。通常,我通过将内部循环放在一个函数中解决此问题,该函数返回(其中包括)一个布尔值,该布尔值用作中断条件。但是标记中断的循环似乎要简单得多,如果python中存在这样的功能,我想尝试一下 有人知道吗? 问题答案: 有人建议在python PEP3136中包含命名循环,但是在此不作解释。拒绝的
问题内容: 如何使用列表中的名称创建新变量?这个: 当然不行。我该怎么办? 我想做这个: 问题答案: 我认为更适合此目的: 但是,如果您仍然想即时创建变量,则可以使用:
我需要构造一组变量,其中变量应基于2部分构造:a)name b)一个用value[1]加强的数字。对于不断增加的数字,我使用了for循环。我设法创建了一个字符串,参见test1,但没有增加变量名称,参见test2。 鉴于下面提供的错误代码,我假设R不希望我使用变量名中的“paste0”来构造某些东西。 我的R代码: “测试1”的结果: 我得到的test2错误是: “test2”的预期结果是:
问题内容: 出于示例目的… 所以我最终得到了string1,string2,string3 …都等于 问题答案: 但实际上将一个值与另一个值相关联的最佳方法是字典。这就是它的设计目的!
问题内容: 这里发生了什么?我正在尝试创建功能列表: 这没有达到我的期望。我希望列表像这样: 但是列表中的所有功能似乎都是相同的,并且将固定值设置为9: 有任何想法吗? 问题答案: python中的lambda是闭包…。在计算lambda之前,不会对您提供的参数进行求值。那时,i = 9,因为您的迭代已完成。 您正在寻找的行为可以通过functools.partial实现
我是最近一个R的转换者,正在努力寻找下面的R等价物:循环使用一个公共前缀加上一个数字(var1,var2,...,varn)命名的变量。 假设我有一个数据集,其中每行是一个商店,每列是该商店在第1个月、第2个月...第6个月的收入值。一些虚构的数据,例如: 你能提出一个适当的方法吗?