Python编程:从基础到统计分析
1. 生成器的特性与应用
生成器的行为起初可能让人觉得有些费解,但多数情况下,它是唯一合理的选择。生成器常用于那些序列在事先未知,或者在迭代过程中可能发生变化的场景。例如,使用生成器来迭代当前访问系统的用户。当识别出所有用户后,生成器会自动失效,此时需要创建一个新的生成器来刷新用户列表。
值得注意的是,内置的 range() 函数(Python 3.0 之前是 xrange() )在多次访问时会重新启动,这是通过显式实现迭代器协议来实现的,简单的生成器无法做到这一点。
2. Lambda函数的强大之处
在 Python 中,函数除了自身的功能外,还常为其他功能提供额外的辅助功能。以列表排序为例,可通过提供一个接受列表项并返回用于比较的值的函数来配置排序行为:
def get_price(house):
return house.price
houses.sort(key=get_price)
不过,这种方式似乎有些浪费函数的能力,还需要额外的代码行和一个仅在 sort() 方法调用中使用的名称。更好的方法是直接在方法调用中指定关键函数,这不仅更简洁,还能让函数体出现在使用的地方,使代码更易读。
Python 的 lambda 形式在这种情况下非常有用。 lambda 允许将函数定义为一个无名称的单一表达式,功能更简单。以下是
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



