lambda 函数:lambda 函数是 Python 中的匿名函数,即没有名称的小型函数。它们通常用于简单的操作,可以作为参数传递给其他函数或用于创建简短的函数对象。例如:
# 使用 lambda 函数对列表进行排序
fruits = [('apple', 5), ('banana', 6), ('cherry', 6)]
sorted_fruits = sorted(fruits, key=lambda x: x[1]) # 按第二个元素(长度)排序
print(sorted_fruits) # 输出: [('apple', 5), ('banana', 6), ('cherry', 6)]
使用?enumerate()
?函数:enumerate()
?函数用于在循环中同时获取元素的索引和值。
for i, value in enumerate(['a', 'b', 'c']):
print(i, value) # 输出: 0 a, 1 b, 2 c
使用?zip()
?函数:zip()
?函数用于将多个可迭代对象(如列表、元组等)组合成元组列表。
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2) # [(1, 'a'), (2, 'b'), (3, 'c')]
使用?map()
?函数:map()
?函数用于对可迭代对象的元素应用一个函数,并返回一个迭代器。
def square(x):
return x ** 2
numbers = [1, 2, 3, 4]
squared = map(square, numbers) # [1, 4, 9, 16]
使用?sorted()
?函数:sorted()
?函数用于对可迭代对象进行排序,并返回一个排序后的列表。可以传递一个?key
?参数来自定义排序规则。
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers, key=len) # [1, 1, 3, 4, 5, 9]
使用?any()
?和?all()
?函数:any()
?和?all()
?函数用于在可迭代对象中检查是否存在满足条件的元素或所有元素都满足条件。
numbers = [1, 2, 3]
if any(x > 5 for x in numbers): # True,因为至少有一个数字大于5(实际上是3)
print("存在大于5的数字")
if all(x > 0 for x in numbers): # True,因为所有数字都大于0
print("所有数字都大于0")