2024-03-29 06:43:12 发布
网友
我想使用一些类似于下面实际工作的代码:
P = 20 n = 1 for x in range(1, P+1): Ax = n #Hoping that you can name the variable from the current element in the range n = n+1
我想让变量A1,A2,A3….A20在这个例子中它们的值是1,2,3…20。。。在
这可能吗?它需要什么编码?在
干杯
你真的不想这么做。相反,你想要这样的东西:
P = 20 n = 1 A = [] # Or `A = list()` for x in range(1, P+1): A.append(n) n += 1
然后,不是A0,而是A[0],而不是{},而是{}。在
A0
A[0]
Here是Python3.x列表文档(我假设您使用的是python3.x,因为使用的是range,而不是{}。在
range
另外,据我所知,你的代码可以是:
或者这个:
P = 20 A = [i for i in range(1, P+1)]
(请参阅文档中的list comprehensions,这是Python非常有用的特性)
甚至:
P = 20 A = list(range(1, P+1))
我几乎同意你目前得到的所有答案和评论: 99.99%的时候,你不想这么做。这很危险,丑陋和糟糕。
但是,有一种方法可以使用exec:
exec
P = 20 n = 1 for x in range(1, P+1): exec("A{} = n".format(x)) n = n+1
再说一次,你可能不应该用这个。在
不要尝试动态命名变量。疯狂就是这样。在
相反,可以利用python的数据结构来做您想要的事情。在大多数情况下,人们真的希望使用dict或list。在
dict
list
a = {} for x in range(1,21): a[x] = x**2 b = [] for x in range(1,21): b.append(x**2)
当你想用一个来代替另一个时,你会感觉到。例如,在上面的例子中,如果我需要快速查找给定整数的平方,我将使用dict。如果我只需要对1到20之间的正方形集合做点什么,那就是我使用list。在
这是一个微不足道的例子,但它可以扩展到您需要的范围。任何散列数据类型都可以是字典中的一个键,因此不再限制您用笨重的字母和数字命名变量—任何对象都可以!在
你真的不想这么做。相反,你想要这样的东西:
然后,不是},而是{}。在
A0
,而是A[0]
,而不是{Here是Python3.x列表文档(我假设您使用的是python3.x,因为使用的是}。在
range
,而不是{另外,据我所知,你的代码可以是:
^{pr2}$或者这个:
(请参阅文档中的list comprehensions,这是Python非常有用的特性)
甚至:
我几乎同意你目前得到的所有答案和评论: 99.99%的时候,你不想这么做。这很危险,丑陋和糟糕。
但是,有一种方法可以使用
exec
:再说一次,你可能不应该用这个。在
不要尝试动态命名变量。疯狂就是这样。在
相反,可以利用python的数据结构来做您想要的事情。在大多数情况下,人们真的希望使用
dict
或list
。在当你想用一个来代替另一个时,你会感觉到。例如,在上面的例子中,如果我需要快速查找给定整数的平方,我将使用
dict
。如果我只需要对1到20之间的正方形集合做点什么,那就是我使用list
。在这是一个微不足道的例子,但它可以扩展到您需要的范围。任何散列数据类型都可以是字典中的一个键,因此不再限制您用笨重的字母和数字命名变量—任何对象都可以!在
相关问题 更多 >
编程相关推荐