我是Python的新手,但我用它来处理数据。我将大量数据存储为float数组:
data1
data2
data3
我想对每个数据文件运行类似的处理。我在考虑使用for循环:
for i in range(1,4):
我想将这三个数据文件乘以2,但我不确定如何继续。我想它看起来像他的:
for i in range(1,4):
data_i=data_i*2
谢谢。
答案 0 :(得分:1)
你可以创建一个二维数组,这意味着你将浮点数组放在另一个数组中。
你现在的情况如下:
data1 = [12, 2, 5]
data2 = [2, 4, 8]
data3 = [3, 0, 1]
通过执行以下操作将数组放在另一个数组中:
datax = [data1, data2, data3]
您的新情况如下:
datax = [[12, 2, 5], [2, 4, 8], [3, 0, 1]]
现在,我们可以遍历新的datax
数组并对其执行元素,data1
,data2
和{{1 }}
有些事情:
data3
答案 1 :(得分:0)
您可以简单地将数据存储在例如列表
data_list = [data1, data2, data3]
for i, data in enumerate(data_list):
some_fancy_stuff
data_list[i] = data * 2
一些解释 - 枚举将逐字列举带有索引i
的列表项,并将data_list[i]
分配给变量data
。您可以使用data
及其索引i
执行任何操作。
答案 2 :(得分:0)
您也可以使用Python理解而不是循环,这里有一个例子来说明它:
>>> a1 = [1,2,3]
>>> a2 = [4,5,6]
>>> a3 = [7,8,9]
>>> A = [a1, a2, a3]
>>>
>>> print [[x*2 for x in a] for a in A]
[[2, 4, 6], [8, 10, 12], [14, 16, 18]]
>>>
让我解释一下。
以下构造称为理解:
a = [x*2 for x in X]
它从数组[ ]
生成一个数组(如您所见,括号X
)处理值(在示例值中乘以2)。就像我们写道:
a = []
for x in X:
a.append(x*2)
但更简洁。 在你的情况下,我们使用了两种理解:
[x*2 for x in a]
和
[ [....] for a in A]
所以它和我们做的一样:
result = []
for a in A:
for x in a:
result.append(x*2)
但再次以更简洁的方式。
如果您询问变量名称修改,那么在不改变语言处理器的情况下不可能在Python中使用。但我想你根本不需要它。