How do you count negative numbers in a list in python?

Given a list of numbers, write a Python program to count positive and negative numbers in a List. 

Example:

Input: list1 = [2, -7, 5, -64, -14]
Output: pos = 2, neg = 3

Input: list2 = [-12, 14, 95, 3]
Output: pos = 3, neg = 1

Example #1: Count positive and negative numbers from given list using for loop Iterate each element in the list using for loop and check if num >= 0, the condition to check positive numbers. If the condition satisfies, then increase pos_count else increase neg_count. 

Python3

list1 = [10, -21, 4, -45, 66, -93, 1]

pos_count, neg_count = 0, 0

for num in list1:

    if num >= 0:

        pos_count += 1

    else:

        neg_count += 1

print("Positive numbers in the list: ", pos_count)

print("Negative numbers in the list: ", neg_count)

Output:

Positive numbers in the list:  4
Negative numbers in the list:  3

  Example #2: Using while loop 

Python3

list1 = [-10, -21, -4, -45, -66, 93, 11]

pos_count, neg_count = 0, 0

num = 0

while(num < len(list1)):

    if list1[num] >= 0:

        pos_count += 1

    else:

        neg_count += 1

    num += 1

print("Positive numbers in the list: ", pos_count)

print("Negative numbers in the list: ", neg_count)

Output:

Positive numbers in the list:  2
Negative numbers in the list:  5

Example #3: Using Python Lambda Expressions 

Python3

list1 = [10, -21, -4, 45, 66, 93, -11]

neg_count = len(list(filter(lambda x: (x < 0), list1)))

pos_count = len(list(filter(lambda x: (x >= 0), list1)))

print("Positive numbers in the list: ", pos_count)

print("Negative numbers in the list: ", neg_count)

Output:

Positive numbers in the list:  4
Negative numbers in the list:  3

Example #4: Using List Comprehension 

Python3

list1 = [-10, -21, -4, -45, -66, -93, 11]

only_pos = [num for num in list1 if num >= 1]

pos_count = len(only_pos)

print("Positive numbers in the list: ", pos_count)

print("Negative numbers in the list: ", len(list1) - pos_count)

Output:

Positive numbers in the list:  1
Negative numbers in the list:  6

Method: Using enumerate function 

Python3

l=[12, -7, 5, 64, -14];c=0

x=[a for j,a in enumerate(l) if a>=0]

print("Length of Positive numbers is:", len(x))

print("Length of Nagetive numbers is:", len(l)-len(x))

Output

Length of Positive numbers is: 3
Length of Nagetive numbers is: 2

Method : Using startswith() method

Python3

list1 = [10, -21, 4, -45, 66, -93, 1,0]

pos_count, neg_count = 0, 0

list2=list(map(str,list1))

for num in list2:

    if num.startswith("-"):

        neg_count += 1

    elif(num!="0"):

        if(not num.startswith("-")):

            pos_count+=1

print("Positive numbers in the list: ", pos_count)

print("Negative numbers in the list: ", neg_count)

Output

Positive numbers in the list:  4
Negative numbers in the list:  3

Method: Using sum() method

Python3

l = [12, -7, 5, 64, -14];

x = sum(1 for i in l if i >= 0 )

print("Length of Positive numbers is:", x)

print("Length of Nagetive numbers is:", len(l)-x)

Output:

Length of Positive numbers is: 3
Length of Nagetive numbers is: 2

How do you count the number of negative numbers in Python?

The simplest way to do this in pure python is to use len(number) where "number" has the required base.

How do you put negative numbers in a list in Python?

int() can convert a string to an integer. map(int, ...) returns an iterable which applies int() to each "word" of the user input. The final call to list() will turn the iterable to a list. This should handle negative numbers as well.

How do you handle negative values in Python?

In Python, positive numbers can be changed to negative numbers with the help of the in-built method provided in the Python library called abs (). When abs () is used, it converts negative numbers to positive. However, when -abs () is used, then a positive number can be changed to a negative number.

How do you count positive and negative numbers in an array in Python?

Example #1: Count positive and negative numbers from given list using for loop Iterate each element in the list using for loop and check if num >= 0, the condition to check positive numbers. If the condition satisfies, then increase pos_count else increase neg_count.