如何从Python中的列表计算项目?

时间:2018-12-02 23:03:38

标签: python python-3.x

在这里以及正在学习Python的过程中都是新的。

我正在经历一种假设情况,即每天要测量办公室温度。高于16的内容将放入第二个列表中,我想在其中列出百分比。例如; 5/8 * 100 = 62%

这是我目前拥有的:

# List of temperatures taken from the office
list_temp = [16, 32, 5, 40, 10, 19, 38, 15]

# Output list above 16 degree celsius
output = []
total_output = 0

for position in list_temp:
    if position >= 16:
        output = output + [position]

print('Printing list of Temp Above 16', output)

现在我的问题是,并且相信我,过去几天,我已经彻底摆脱了这种生活。如何获取“输出”列表并执行上述百分比公式?

我试图在for循环中创建它,但无济于事。

3 个答案:

答案 0 :(得分:0)

您可以使用len()获取两个列表中的项目数,并从中计算出百分比。

>>>print('Percentage: ' + str(len(output)/len(list_temp)*100) + '%')
Percentage: 62.5%

答案 1 :(得分:0)

使用列表理解功能来构建包含以下元素的列表:

list_temp = [16, 32, 5, 40, 10, 19, 38, 15]

lower = [i for i in list_temp if i >= 16] #your second list

percentage = len(lower)/len(list_temp) * 100
percentage
>>62.5

然后从长度中获取百分比。

答案 2 :(得分:0)

要创建仅具有大于16的温度的列表,最简单的方法是使用列表理解:

output = [temp for temp in list_temp if temp >= 16]

以上等同于:

output = []
for temp in list_temp:
    if temp >= 16:
        output.append(temp)

然后,获取比率:

percentage = len(output) / len(list_temp) * 100
print(percentage) # 62.5