Python 我想创建包含变量名称的列表,但无法';I don’我不这样做,有人能提些建议吗

Python 我想创建包含变量名称的列表,但无法';I don’我不这样做,有人能提些建议吗,python,python-3.x,list,Python,Python 3.x,List,TypeError:“VC_i”是此函数的无效关键字参数 你为什么不用字典呢 VC_I=[1,2,4,3] for i in range(len(VC_I)): print(VC_i=[]) 要访问或使用: VC_I=[1,2,4,3] x = {} for i in range(len(VC_I)): x[VC_I[i]] = [value, you, want] 做你想做的事 print(x["key name"]) 您需要使用特殊模块来获取变量名。请看这里: 顺便说一句

TypeError:“VC_i”是此函数的无效关键字参数


你为什么不用字典呢

VC_I=[1,2,4,3]

for i in range(len(VC_I)):
  print(VC_i=[])
要访问或使用:

VC_I=[1,2,4,3]
x = {}
for i in range(len(VC_I)):
    x[VC_I[i]] = [value, you, want]
做你想做的事

print(x["key name"])

您需要使用特殊模块来获取变量名。请看这里:

顺便说一句,要使示例正确地仅迭代这些值,请执行以下操作:

x = dict(zip(VC_I, PAYLOAD_IN))

我不知道您是否需要此功能,但您可以使用
locals()
来完成此操作。例如,给定您的代码:

VC_I=[1,2,4,3]
name_dict=dict(locals())#保留所有局部变量的副本
对于键,名称中的val_dict.items():
如果val==VC_I:
print('变量名为:',key)
这将输出,正如您所猜测的:

变量名为:VC\u I
但是,这仅在使用局部变量时才起作用。它也不适用于具有完全相同值的变量。注意

编辑 您甚至可以这样做:

对于名称中的键,val\u dict.items():
如果val==VC_I:
打印(键“=”,val)
这应该给你:

VC_I=[1,2,3,4]

我想你应该创建一个类似VC_1,VC_2。。。 检查此代码

VC_I=[1,2,4,3]
for i in range(len(VC_I)): print(VC_I[i])
回答你的具体问题

VC_I=[1,2,4,3,4,5,6,7,8]
PAYLOAD_IN=[ 'a2','123','21','1a','ae','23','12','ef'] 

for i in VC_I:
  name = 'VC_'+str(i)        
  print(name)                # here name variable is string
  name = list()
  print(name)                # here name variable is list
  print(type(name))          # checking data type of variable name

我不能用bcuz我需要把多个值和VC_iSo联系起来你能做的只是,x[VC_I[I]=['your','values','here']在最后我想要这样的东西:VC_1=[1234ead,345eef,4567ea,123aaa],类似的VC_2=[]等等…我想要它们作为列表,因为当分配给字典时它们仍然是列表,只需调用要访问的字典名和键(变量名)。我在答案的底部加了一个例子。你可能想去这里看看字典是什么……你到底想问什么?标题和描述不太清楚。根据描述,代码是不正确的,可能您想尝试以下方法:
对范围内的i(len(VC_i)):print(VC_i[i])
否,我想根据循环中的i创建名称列表您必须自己在输出中格式化:
print(f'VC[{i}]={VC[i]}')
。即使是新的“调试格式字符串”打印(f'{vc[i]=}')也无法工作,因为它打印符号表达式时没有任何插值,所以它将打印
vc[i]=1
,而不是
vc[0]=1
。我想做这样的事情:我有一个vc_IN=[1,3,65,13,4,1,65,3]的列表和一个有效负载的列表=[a2'、'123'、'21'、'1a'、'ae'、'23'、'12'、'ef']其中[0]中的有效载荷_对应于[0]中的VC_依此类推。现在我会发现VC与VC_的不同之处,即1,3,65,13,4,并希望创建名为VC_1、VC_3、VC_65等的列表,它们各自的有效载荷将是列表的数据,现在你能告诉我具体如何做吗?@Vinita hi upvote或将此标记为答案,如果这解决了你的问题。
for i, j in zip(VC_I, PAYLOAD_IN):
  name = 'VC_' + str(i)
  name = list()
  name.append(j)
  print(name)