14、Python编程:从基础到统计分析

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 允许将函数定义为一个无名称的单一表达式,功能更简单。以下是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值