Map, Filter, Reduce, Sorted, any, all, foreach
Lambda function
Map
numbers = [1, 2, 3]
def double():
return a * 2
# result = map(double, nubmers)
result = map(lambda a : a * 2, nubmers)
print(list(result)) # [2, 4, 6]
nums = [1, 2, 3]
squared = map(lambda x: x ** 2, nums)
print(list(squared)) # 输出 [1, 4, 9]
Filter
numbers = [1, 2, 3]
def isEvent(n):
return n % 2 == 0
# result = map(double, nubmers)
result = filter(lambda n : n % 2 == 0, nubmers)
print(list(result)) # [2]
nums = [1, 2, 3, 4, 5]
even = filter(lambda x: x % 2 == 0, nums)
print(list(even)) # 输出 [2, 4]
Reduce
from functools import reduce
expenses = [
('Dinner', 80),
('Car repair', 120)
]
sum = 0
for expense in expenses:
sum += expense[1]
print(sum) # 200
sum2 = reduce(lambda a, b : a[1] + b[1], expenses) # 200
from functools import reduce
nums = [1, 2, 3, 4]
sum_all = reduce(lambda x, y: x + y, nums)
print(sum_all) # 输出 10
sorted(iterable, key=None, reverse=False)
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words) # 输出 ['apple', 'cherry', 'banana']
any
and all
bools = [True, False, True]
print(any(bools)) # 输出 True
print(all(bools)) # 输出 False
列表推导式(替代 foreach
循环)
nums = [1, 2, 3]
squared = [x ** 2 for x in nums] # 等效于 map
print(squared) # 输出 [1, 4, 9]
enumerate(iterable)
for i, val in enumerate(["a", "b"]):
print(i, val) # 输出 0 a, 1 b