gpt4 book ai didi

Python 根据变量名称迭代变量

转载 作者:行者123 更新时间:2023-12-01 03:07:33 26 4
gpt4 key购买 nike

我有一些数据数组,我想对其执行类似的计算,因此我想根据它们的名称迭代它们。一些伪代码例如:

l = 1000 # example length of data arrays
n = 3 # number of arrays
data_1 = [1] * l
data_2 = [2] * l
data_3 = [3] * l

# l can vary in size, so arrays aren't fixed length

for i in range(n):
for j in range(l):
data_[i][j] = some_length_based_maths[j]

这种以迭代方式按名称调用数据数组的语法让我感到困惑。

我可能应该使用二维数组或其他东西并调用元素[i][j],但如果可能的话,在此应用程序中将其全部分开会更容易。

谢谢!

最佳答案

您最好使用 Python 字典来获得更干净的解决方案。对于您当前的要求,您可以执行以下操作:

for i in range(n): 
for j in range(l):
eval('data_'+str(i))[j] = some_length_based_maths[j]

以及某种免责声明: Is using eval in Python a bad practice?

处理这个问题的更好方法(使用字典)

l = 1000 # example length of data arrays
data_dict = {}
data_dict['data_1'] = [1] * l
data_dict['data_2'] = [2] * l
data_dict['data_3'] = [3] * l

# l can vary in size, so arrays aren't fixed length

for i in data_dict:
for j in range(l):
data_dict[i][j] = some_length_based_maths[j]

关于Python 根据变量名称迭代变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205087/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com