Numpy随机数生成器:Numpy库提供了强大的随机数生成功能,可以生成各种分布的随机数。这些随机数生成器基于不同的算法和种子(seed)来产生随机数序列。
Lambda函数:Lambda函数是一种匿名函数,可以在一行代码中定义简单的函数。它通常用于需要短小、临时的函数定义,特别是在需要传递函数作为参数的场景中。
numpy.random.rand(d0, d1, ..., dn)
numpy.random.normal(loc=0.0, scale=1.0, size=None)
numpy.random.binomial(n, p, size=None)
sorted(list, key=lambda x: x[0])
list(filter(lambda x: x > 5, my_list))
import numpy as np
# 使用Numpy生成随机数
random_numbers = np.random.rand(5)
print("Random numbers:", random_numbers)
# 使用Lambda函数对随机数进行排序
sorted_numbers = sorted(random_numbers, key=lambda x: -x)
print("Sorted numbers:", sorted_numbers)
问题:生成的随机数序列每次都不一样,如何使其可重复?
原因:默认情况下,Numpy随机数生成器使用系统时间作为种子,因此每次运行程序时都会生成不同的随机数序列。
解决方法:在生成随机数之前,设置相同的种子。
np.random.seed(42) # 设置种子为42
random_numbers = np.random.rand(5)
print("Repeatable random numbers:", random_numbers)
问题:Lambda函数在处理复杂逻辑时显得不够清晰?
原因:Lambda函数适合简单的操作,对于复杂的逻辑,使用普通的函数定义会更加清晰和易于维护。
解决方法:将复杂的逻辑封装到普通的函数中。
def complex_logic(x):
return x ** 2 + 2 * x + 1
# 使用普通函数
result = list(map(complex_logic, [1, 2, 3]))
print("Result using normal function:", result)
领取专属 10元无门槛券
手把手带您无忧上云