如何从for循环输出中创建结构例如列表?

问题描述

// transform data into bins
bins_hist = np.linspace( data.min(),data.max(),40)
quantity,bins = np.histogram(data,bins_hist,density = True)
bins_mean = (bins [1:]+bins [:-1])/2

// initialise model
mod = GaussianModel()

// perform fit
pars = mod.guess(quantity,x=bins_mean )
out = mod.fit(quantity,pars,x=bins_mean )

// get output values
mu = out.params['center'].value
mu_stderr = out.params['center'].stderr
sigma = out.params['sigma'].value
sigma_stderr = out.params['sigma'].stderr

我需要从For循环的结果中创建列表或数组的帮助。

解决方法

使用列表理解。

u = [s**-1*500 for s in range(1,30)]

注意: range的默认步骤是1,因此可以在此处跳过。 列表理解通常比在for循环中向列表中添加元素要快。这也是执行此类任务的更Python方式。

,
# Create an empty list
item_list = []
for s in u:
    # Append each item to list.
    item_list.append(s**-1*500)
,

您有2种方法。

For循环

<script src="https://d3js.org/d3.v6.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.min.js" integrity="sha512-d9xgZrVZpmmQlfonhQUvTR7lMPtO7NkZMkA0ABN3PHCbKA5nqylQ/yWlFAyY6hYgdF1Qh6nYiuADWwKB4C2WSw==" crossorigin="anonymous"></script>
<p>
  Please enter x axis and y axis correctly,else you wouldnt get correct graph
</p>
x labels :
<input type="text" id="xLabel" value="source" /> y labels :
<input type="text" id="yLabel" />
<button onclick="myFunction()">Generate graph</button>

<p id="y_one"></p>
<p id="x_one"></p>

<canvas id="chart"></canvas>

列表理解

u = range(1,30,1)
values = []
for s in u:
    values.append(s**-1*500)

使用适合您需求的