# Python program to count positive and negative numbers in a list

• Last Updated : 08 Aug, 2022

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

 `# Python program to count positive and negative numbers in a List` `# list of numbers``list1 ``=` `[``10``, ``-``21``, ``4``, ``-``45``, ``66``, ``-``93``, ``1``]` `pos_count, neg_count ``=` `0``, ``0` `# iterating each number in list``for` `num ``in` `list1:``    ` `    ``# checking condition``    ``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

 `# Python program to count positive and negative numbers in a List` `# list of numbers``list1 ``=` `[``-``10``, ``-``21``, ``-``4``, ``-``45``, ``-``66``, ``93``, ``11``]` `pos_count, neg_count ``=` `0``, ``0``num ``=` `0` `# using while loop    ``while``(num < ``len``(list1)):``    ` `    ``# checking condition``    ``if` `list1[num] >``=` `0``:``        ``pos_count ``+``=` `1``    ``else``:``        ``neg_count ``+``=` `1``    ` `    ``# increment num``    ``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

 `# Python program to count positive``# and negative numbers in a List` `# list of numbers``list1 ``=` `[``10``, ``-``21``, ``-``4``, ``45``, ``66``, ``93``, ``-``11``]` `neg_count ``=` `len``(``list``(``filter``(``lambda` `x: (x < ``0``), list1)))` `# we can also do len(list1) - neg_count``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

 `# Python program to count positive``# and negative numbers in a List` `# list of numbers``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```

## 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```

## Python3

 `# Python program to count positive and negative numbers in a List` `# list of numbers``list1 ``=` `[``10``, ``-``21``, ``4``, ``-``45``, ``66``, ``-``93``, ``1``,``0``]` `pos_count, neg_count ``=` `0``, ``0``list2``=``list``(``map``(``str``,list1))` `# iterating each number in list``for` `num ``in` `list2:``    ``# checking condition``    ``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```

My Personal Notes arrow_drop_up