Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 返回空数组_Python_Arrays_Loops - Fatal编程技术网

Python 返回空数组

Python 返回空数组,python,arrays,loops,Python,Arrays,Loops,我有一个方程,我想对数组中的每个元素(e0)执行这个方程,叫做“能量”。但是,每次计算都需要在定义的范围内循环一组值(i)。当我尝试将一个循环放入另一个循环时,它返回一个空数组,而我想要一个与能量数组大小相同的数组 fp1 = [] for e0 in energy: for i in range(elow, ehigh, stepsize): fp1 = np.append(fp1, np.cumsum((2 / np.pi) * ((mu(element, e0) *

我有一个方程,我想对数组中的每个元素(e0)执行这个方程,叫做“能量”。但是,每次计算都需要在定义的范围内循环一组值(i)。当我尝试将一个循环放入另一个循环时,它返回一个空数组,而我想要一个与能量数组大小相同的数组

fp1 = []
for e0 in energy:
    for i in range(elow, ehigh, stepsize):
        fp1 = np.append(fp1, np.cumsum((2 / np.pi) * ((mu(element, e0) * i / ((e0 * e0)-)(i * i)))) * 2)
对所有这些都比较陌生,所以假设我完全忽略了一些东西。 为此,请使用Python 2.7


干杯

好吧,空名单不应该出现的情况。但是,如果你在评论中所说的是真的,就不应该是你所期望的。例如:

 elow = 2
 ehigh = 900
 stepsize = 2
 fp1 = []
 energy = [1, 2, 3]
 for e0 in energy:
     for i in range(elow, ehigh, stepsize):
          fp1 = numpy.append(fp1, 15)

 fp1
 array([ 15.,  15.,  15., ...,  15.,  15.,  15.])
 len(fp1)
 1347
正如你所看到的,你不会得到一个相同能量长度的数组。这是因为
range(29000,2)
生成了一个从2->898(449个元素)开始的列表。这是为能量中的每个元素生成的,您的计算结果将附加到fp1,因此您应该得到449*3=1347个元素作为结果

我真的看不出有任何情况会导致空列表,除了:

elow >= ehigh

energy = []

stepsize < 0
elow>=ehigh
能量=[]
步长<0

因此,我的建议是在循环之前对所有这些值进行打印/调试,也许可以更好地解释您想要实现的目标,因为正如我所说的,即使这样做可行,您也不会得到与
energy
相同长度的输出,而是
length=len(energy)*449

elow,ehigh的值是多少,步长?如果elow>=eghigh,这将只生成一个[]列表。您能确认您正在使用Numpy吗?因为append为numpy数组返回一个数组,而为Python列表返回一个数组。你确定你的代码,因为它甚至不为我运行。特别是:((e0*e0)-)看起来几乎是一个语法错误。
fp1=np.append()
?是什么导致您认为
list.append()
返回一个值?请明确定义“返回空数组”的含义?没有
返回
,这不是函数定义。