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