numbers = [4, 2, 1, 6, 9, 7] print(numbers) def square(x): return x * x print(list(map(square, numbers))) print([square(x) for x in numbers]) print(numbers) def is_odd(x): return bool(x % 2) print(list(filter(is_odd, numbers))) print([x for x in numbers if is_odd(x)]) def reversed_string(text): result = "" for char in text: result = char + result return result print(reversed_string("Hello, World!")) greeting = "Hello, World!" for char in reversed(greeting): print(char) greeting = "Hello, World!" for char in greeting[::-1]: print(char) print(greeting[::-1]) from collections import UserString class ReversibleString(UserString): def reverse(self): self.data = self.data[::-1] text = ReversibleString("Hello, World!") print(text) # Reverse the string in place text.reverse() print(text) text = ReversibleString("Hello, World!") # Support reverse iteration out of the box for char in reversed(text): print(char) print(text)