我在一个文件夹中有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]
答案 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 = 0
,endfile
>>> 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
更大一些。