用一个数字的长度创建不同名称的变量

  • 本文关键字:创建 变量 一个 数字 python
  • 更新时间 :
  • 英文 :


例如num = 1010,那么num是4位数长,您可以自动创建4个变量吗?

例如:

num = 1010
len(num)
num_2 = whatever
num_3 = whatever
num_4 = whatever
num_5 = whatever

因为num有4个数字,你添加了4个额外的变量(不管哪个名字)所以如果num是5位数字,你有num_2 - num_6(所以它是2,3,4,5,6)等等。因此,如果有更多的数字,它会自动创建新的变量(或更少的数字,更少的变量)

因为如果用if来写它会花很长时间,当num可以是1也可以是1000(使用input())

使用字典代替多个几乎相同名称的变量

num = 1010
length = len(str(num))
res = {i+1:str(num)[i-1] for i in range(1, length+1)}
res[1] = num

这提供了一种更好、更简单的方法来访问变量

num[1]是用来存储num变量的原始值的,如果不需要的话可以删除它

所需的值将存储在res字典

如果你想使用num的名称来访问值,如num_,你是熟悉的(我猜)然后改变res为num

num = res

访问1010(这里是1)的第一位,如num[2]

或者你也可以使用一个简单的列表来存储它们,比如

res = [num, *[i for i in iter(str(num))]]

这里,您需要的变量值将在res列表

或者如果你仍然想要num_格式变量,那么

for i in range(2, len(str(num))+2):
globals()[f'num_{i}'] = str(num)[i-2]

值将被存储在像num_2,num_3,num_4,…这样的变量中

一行以上相同的代码

globals().update({f'num_{i}': str(num)[i-2] for i in range(2, len(str(num))+2)})

如果它不适合你,告诉我…