如何在列表中显示大于均值的数字?

时间:2014-11-03 21:07:32

标签: python list floating-point int sum

我在这里尝试了一些不同的东西而且我只是迷失了。任何帮助将不胜感激,这是我的代码。

numL = [];
for count in range (6):
    num = input("Enter Numbers ");
    if int(num) <= -999:
        print("Sentinel value was entered")
print(int(num) > sum(int(num))/ float(len(int(num))))

2 个答案:

答案 0 :(得分:0)

您可以使用列表推导来轻松完成此任务:

[a for a in your_list if a > sum(your_list) / len(your_list)]

如果你不熟悉列表推导,那基本上就说:

  

对于a中的每个元素your_list,如果a大于列表总和除以其长度(即其均值),请将[1, 2, 3, 4, 5, 6, 7, 8, 9]添加到新列表中。返回新列表。

例如,对于列表[6, 7, 8, 9],这会返回{{1}}。

答案 1 :(得分:0)

在python 3.4中,您可以使用statistics.mean和列表comp:

from statistics import  mean

l = [1,2,3,4,5,6,7,8,9,10]
print([x for x in l if x > mean(l)])
[6, 7, 8, 9, 10]

不确定你的if语句是做什么的,但是当你得到输入时你可以创建一个列表:

nums = [int(input("Enter Numbers ")) for _ in range(6)]
print([x for x in nums if x > mean(nums)])