Generator
- A generator in python is a function with
yieldstatement - Refer Here for docs on generator
Range function
- Refer Here for range function
for – loop
- for in python is for each in other languages Refer Here
list comprehensions
- Refer Here
- syntax
[ expression for item in list if condition == True]
Program to find even numbers between 100 and 1000
- Program – style
start = 100
end = 1000
even_numbers = []
for number in range(start, end+1):
if number % 2 == 0:
even_numbers.append(number)
print(even_numbers)
- list comprehension
[ number for number in range(start, end+1) if number%2 == 0]
Program to find prime numbers between a range
- We already have a function
def is_prime(number:int) -> bool:
"""Checks if the number is prime or not
Args:
number (int): number to be checked
Returns:
bool: Returns True if prime False otherwise
"""
is_prime_result = True
if number < 2:
is_prime_result = False
else:
index = 2
while index < number:
if number % index == 0:
is_prime_result = False
break
index += 1
return is_prime_result
- Find prime numbers between a range
start = 100
end = 1000
prime_numbers = []
for number in range(start, end+1):
if is_prime(number):
prime_numbers.append(number)
print(prime_numbers)
- list comprehensions
[ number for number in range(start, end+1) if is_prime(number) ]
Iterables and its functions
| Function | Purpose | Example |
| ————- | ————————— | —————————— |
| iter() | Convert iterable → iterator | iter([1,2,3]) |
| next() | Get next item from iterator | next(it) |
| len() | Number of elements | len([1,2,3]) |
| sum() | Sum elements | sum([1,2,3]) |
| min() | Smallest element | min([3,1,2]) |
| max() | Largest element | max([3,1,2]) |
| sorted() | Returns sorted list | sorted([3,1,2]) |
| reversed() | Reverse iterable | reversed([1,2,3]) |
| enumerate() | Add index while iterating | enumerate(['a','b']) |
| zip() | Combine multiple iterables | zip(a,b) |
| map() | Apply function to iterable | map(str,[1,2]) |
| filter() | Filter elements | filter(lambda x:x>2,[1,3,5]) |
| any() | True if any element is True | any([0,1,0]) |
| all() | True if all elements True | all([1,2,3]) |
