使用Python计算整数列表中的负值?

使用Python计算整数列表中的负值?,python,Python,我在编写代码方面遇到问题。问题: 给定整数列表,返回负值的计数 为什么这段代码不能正确运行 def count_negative(list): for value in list: total = 0 total += value return total 每次循环后,您都将total设置回零。将其置于循环之外: total = 0 for value in list: total += value return total 此外,函数在第一个

我在编写代码方面遇到问题。问题:

给定整数列表,返回负值的计数

为什么这段代码不能正确运行

def count_negative(list):
  for value in list:
      total = 0
      total += value
      return total

每次循环后,您都将
total
设置回零。将其置于循环之外:

total = 0
for value in list:
    total += value
return total
此外,函数在第一个循环后会中断,因为函数返回某个内容后会中断。同时将
返回总数
置于循环之外:

total = 0
for value in list:
    total += value
return total
我不知道这将如何决定一个数字是否为负数。可以在循环中使用if语句

if value < 0:
    total += 1
如果值<0:
总数+=1
或者您可以使用列表:

sum(1 for i in lst if i < 0)
sum(如果i<0,则lst中的i为1)


顺便说一句,千万不要给某个东西命名
列表
。它覆盖了内置的。我很惊讶你的问题能做到这一点。

将其转换为
pd.DataFrame
然后使用
df[df>0].count()/len(df)
是的!使用“列表”真让我烦恼。但这是一个问答题,所以我不能改变它