Given a list of numbers, write a Python program to print all positive numbers in given list.
Example:
Input: list1 = [12, -7, 5, 64, -14] Output: 12, 5, 64 Input: list2 = [12, 14, -95, 3] Output: [12, 14, 3]
Example #1: Print all positive numbers from given list using for loop Iterate each element in the list using for loop and check if number is greater than or equal to 0. If the condition satisfies, then only print the number.
Python3
list1
=
[
11
,
-
21
,
0
,
45
,
66
,
-
93
]
for
num
in
list1:
if
num & gt
=
0
:
print
[num, end
=
& quot
& quot
]
Output:
11 0 45 66
Example #2: Using while loop
Python3
list1
=
[
-
10
,
21
,
-
4
,
-
45
,
-
66
,
93
]
num
=
0
while
[num <
len
[list1]]:
if
list1[num] >
=
0
:
print
[list1[num], end
=
" "]
num
+
=
1
Output:
21 93
Example #3: Using list comprehension
Python3
list1
=
[
-
10
,
-
21
,
-
4
,
45
,
-
66
,
93
]
pos_nos
=
[num
for
num
in
list1
if
num >
=
0
]
print
["Positive numbers
in
the
list
: ",
*
pos_nos]
Output:
Positive numbers in the list: 45 93
Example #4: Using lambda expressions
Python3
list1
=
[
-
10
,
21
,
4
,
-
45
,
-
66
,
93
,
-
11
]
pos_nos
=
list
[
filter
[
lambda
x: [x >
=
0
], list1]]
print
["Positive numbers
in
the
list
: ",
*
pos_nos]
Output:
Positive numbers in the list: 21, 4, 93
Method: Using enumerate function
Python3
l
=
[
12
,
-
7
,
5
,
64
,
-
14
]
print
[[a
for
j,a
in
enumerate
[l]
if
a>
=
0
]]
Method:Using startswith[] method
Python3
list1
=
[
11
,
-
21
,
0
,
45
,
66
,
-
93
]
res
=
[]
list2
=
list
[
map
[
str
,list1]]
for
i
in
range
[
0
,
len
[list2]]:
if
[
not
list2[i].startswith[
"-"
]
and
list2[i] !
=
"0"
]:
res.append[
str
[list1[i]]]
res
=
" "
.join[res]
print
[res]
Auxiliary Space: O[1]
Method: Using Numpy Array:
Python
import
numpy as np
list1
=
np.array[[
-
10
,
-
21
,
-
4
,
45
,
-
66
,
93
]]
pos_nos
=
list1[list1 >
=
0
];
print
[
"Positive numbers in the list: "
,
*
pos_nos]
Output:
Positive numbers in the list: 45 93