Python - 识别列表中的负数

时间:2013-04-13 22:22:00

标签: python list count identify

我需要帮助做一个程序,它应该收到十个数字并返回我输入的负整数的数量。 例: 如果我输入:

1,2,-3,3,-7,5,4,-1,4,5

程序应该返回3。 我真的不知道,所以请帮个忙:) PS。抱歉我的英语不好,希望你能理解

3 个答案:

答案 0 :(得分:42)

打破你的问题。你能确定一种检查数字是否为负数的方法吗?

if number < 0:
    ...

现在,我们有很多数字,所以我们循环使用它们:

for number in numbers:
    if number < 0:
        ...

那么我们想做什么?数数吧。所以我们这样做:

count = 0
for number in numbers:
    if number < 0:
        count += 1

更优化的是,使用generator expressionthe sum() built-in可以非常轻松地完成此操作:

>>> numbers = [1, 2, -3, 3, -7, 5, 4, -1, 4, 5]
>>> sum(1 for number in numbers if number < 0)
3

答案 1 :(得分:22)

sum(n < 0 for n in nums)

这是最狡猾的方式。

答案 2 :(得分:2)

或者您可以使用filter“过滤”否定数据。

total = len(filter(lambda x: x < 0, my_list))