Skip to main content

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