Python - 识别列表中的负数

Mic*_*ael 1 python list count identify

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

1,2,-3,3,-7,5,4,-1,4,5
Run Code Online (Sandbox Code Playgroud)

该计划应该归还给我3.我真的不知道,所以请帮我一把:) PS.抱歉我的英语不好,希望你能理解

Gar*_*tty 43

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

if number < 0:
    ...
Run Code Online (Sandbox Code Playgroud)

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

for number in numbers:
    if number < 0:
        ...
Run Code Online (Sandbox Code Playgroud)

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

count = 0
for number in numbers:
    if number < 0:
        count += 1
Run Code Online (Sandbox Code Playgroud)

更优化,这样可以很容易地用做发电的表达sum()内置:

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


jam*_*lak 23

sum(n < 0 for n in nums)
Run Code Online (Sandbox Code Playgroud)

这是最诡计多端的方式.

  • 我认为`any`比`sum`更清楚. (3认同)
  • @gwg该问题要求负整数的总数.`any`将返回'True`或'False`,这不是理想的答案 (3认同)