写一个新的python文件数组

时间:2017-04-03 10:53:31

标签: python-2.7 numpy

我在一个文件夹中有10个文件。我想创建一个没有文件夹的数组,并与变量相乘。由于我是编程新手,我不知道如何执行此操作。这样做是否可以,

import numpy as np
folder=/home/foldername/
startfile=[0]
endfile=[9]
x=[0.5]
for i in range(startfile,endfile):
    newarray=[i+x]
    i+=1
    print(newarray)

预计会打印

newarray=[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5]

1 个答案:

答案 0 :(得分:0)

获得所需数组的一种更简单的方法是

>>> newarray = [x + 0.5 for x in range(1, 10)]
>>> newarray
[1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5]

正如你所想做的那样,有几个错误。

首先,范围需要整数,但是你给它列出了:

>>> startfile=[0]
>>> endfile=[9]
>>> for i in range(startfile,endfile):
...   print i

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: range() integer end argument expected, got list.

[0]是一个包含0的列表;只需startfile = 0endfile

>>> startfile=0
>>> endfile=9
>>> for i in range(startfile,endfile):
...   print i
...
0
1
2
3
4
5
6
7
8

请注意,这取决于但不包括 9。

现在,你的循环中有i+=1,我怀疑是因为你想确定它会增加,但for循环会为你做这个。

最后,你有newarray=[i+x],每次循环都会重置newarray。如果你想把东西附加到循环中,那就做吧。

>>> newarray = []
>>> for i in range(startfile,endfile):
...   newarray.append(i + 0.5)
...
>>> newarray
[0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5]

再次注意,您可能希望endfile更大一些。