在这里以及正在学习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循环中创建它,但无济于事。
答案 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