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 = 1Example #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: 3Example #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: 5Example #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: 3Example #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: 6Method: 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: 2Method : 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