【发布时间】:2021-09-02 12:11:48
【问题描述】:
我第一次尝试在 Python 中创建和使用动态变量。
for i in range(0,len(test_data)):
globals()["test_list_{}".format(test_data[i])]=[]
globals()["test_calculation_{}".format(test_data[i])]=0
首先,我创建了 test_list_number 和 test_calculation_number 作为全局变量。
然后我想将它用于并用于计算。 我在这里编写的代码是通过简化我将要使用的代码而制作的。
如何更改以下两个 for 语句中的数字?
--------------下面是一个代码示例。 -------------
import pandas as pd
import numpy as np
X=list(np.random.random(100)*100)
Y=list(np.random.random(100)*100)
test_data= [2,5,7,8]
test_dict={(i,j):np.hypot(X[i]-X[j],Y[i]-Y[j]) for i in range(0,100) for j in range(0,100)}
test_df_data2={
'index' : [1,2,3],
'data1' : [3,5,6],
'data2' : [2,5,6]
}
test_df_data5={
'index' : [1,2,3],
'data1' : [8,3,1],
'data2' : [3,2,7]
}
test_df_2 =pd.DataFrame(test_df_data2)
test_df_5 =pd.DataFrame(test_df_data5)
for i in range(0,len(test_data)):
globals()["test_list_{}".format(test_data[i])]=[]
globals()["test_calculation_{}".format(test_data[i])]=0
for i in range(0, len(test_df_2 ) ):
test_list_2 .append((test_df_2 .data1[i],test_df_2 .data2 [i]))
for i in range(len(test_list_2 )):
test_calculation_2 = test_calculation_2 + test_dict[test_list_2 [i] ]
print( test_calculation_2)
【问题讨论】:
-
使用带有“动态变量”名称的字典作为键。
-
这能回答你的问题吗? How do I create variable variables?
-
在 Python、numpy 或 pandas 文档中找到了有关“动态变量”的任何内容。我不记得有这个名字的任何东西,但我可以猜到你想要做什么。您最好使用记录在案的、公认的做法,而不是从另一种语言中导入某些概念。