nums = list(range(10)) odds = [n for n in nums if n % 2 == 1] print(odds)
nums = list(range(10)) odds = (n for n in nums if n % 2 == 1) print(odds)
generator
squares = (n*n for n in range(2, 5)) print(squares) print(next(squares)) print(next(squares)) print(next(squares))
for
words = "lorem ipsum dolor sit amet".split() first_letters = (w[0] for w in words) for letter in first_letters: print(letter)
dict
words = ["apple", "boy", "carrot"] letter_words = dict((w[0], w) for w in words) print(letter_words)
words = ["apple", "boy", "carrot"] letter_words = {w[0]: w for w in words} print(letter_words)
yield
def myrange(start, stop, step): i = start while i < stop: yield i i += step for i in myrange(1, 10, 2): print(i)
Create a generator that will yield every odd number that is not divisible by 5.