有没有一种较短的(非竞争性的)方法来创建相同浮动的列表?

2024-05-17 14:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以用速记法写出以下内容:

x = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]

如你所说

x = ([0.5]*12)?

Tags: 速记法
3条回答

要将其放到上下文中,我的代码如下:

ambient_temp2 = [293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293,293]
Flow2 =     [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1]
LNG_range2 = np.array(([113]*18))
line_length = np.linspace(0.1,1,18)

df3 = pd.DataFrame({'Temp':ambient_temp2, 'Flow': Flow2, 'LNG': LNG_range2, 'LengthOfLine': line_length})

def Tline_mod(ambient_temp2, LNG_range2, Flow2, line_length):

ha = 8.14
k = 0.0026
Do = 0.2
Di = 0.003175
L = line_length
F = Flow2
Ta = ambient_temp2
Ts = LNG_range2
pi = 3.14159265
Q = (pi*(Ta-Ts))/(((1/ha*Do))+(1/(2*k))*math.log(Do/Di)) * L
e = (Q*3600)/F

df3['Enthalpy Result'] = e
plt.plot(line_length, e)
plt.rcParams.update({'font.size': 12})
plt.annotate('Line Length Effects', xy =(0.4,25000))
plt.show()
print df3

print Tline_mod(df3['Temp'], df3['LNG'], df3['Flow'], df3['LengthOfLine'])

我试过了np.满但它不起作用。你知道吗

编辑****

成功了。。。。我只是不小心。谢谢大家:D

如果您使用的是python的内置列表,那么您所拥有的将起作用:

x = [0.5] * 12

如果您正在使用numpy并且想要创建一个数组,那么您要查找的例程是^{}

import numpy as np
x = np.full(12, 0.5)

在这里提问时,你应该首先找到自己解决问题的方法,并在这里展示你的作品。 在您的例子中,这只是运行一段代码并检查是否有任何错误以及列表是否正确创建。你知道吗

但是,要回答您的问题,要创建一个值为n乘以my\u值的列表,可以使用以下for循环:

my_list = [my_value for _ in range(n)]

Source

您的代码(x = [0.5] * 12)也可以工作,因为python具有将整个变量相乘的功能,而不仅仅是将变量的值相乘。你知道吗

编辑:

由于惯例,更改了变量名。循环变量没有被使用,所以像mgilson告诉我的那样,通常称它为_。你知道吗

相关问题 更多 >