首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python Tips 7

按条件跳过迭代器中的前一部分元素

有时候,我们需要按照一定条件来过滤掉迭代器前一部分的元素,例如需要从第一个不小于5的数字开始迭代。这时,我们可以使用itertools模块中的dropwhile函数来实现

我们可以向dropwhile函数中第一个参数传入一个lambda表达式,dropwhile函数自动丢弃迭代器中满足这个表达式的元素,直到遇见第一个不满足该表达式的元素,从这个数据开始迭代

需要注意的是,dropwhile只会跳过迭代器中前一部分元素,如果此迭代器后面的元素有不满足该表达式的,并不会过滤掉,例如

如果只要想迭代器所有满足表达式的元素,那么我们可以使用filter函数

对多个有序序列进行合并,并且对整个有序序列进行迭代

当有多个有序序列时,想要合并这些序列,并且使之成为一个有序序列进行迭代,这时,我们可以使用heapq.merge方法来完成这个任务

需要注意的是传入heapq.merge方法中的序列必须是有序的,heapq.merge对输入序列本身并不会做任何检查

计算字符串表达式

假设有一个字符串'1 + 2 + 3',我们可以使用eval函数来计算其值

eval函数可以计算字符串表达式的值。使用eval函数带来的一个好处就是可以动态的产生代码,例如我们需要定义一个函数,其输入为两个变量名,而输出为这两个变量的和,这时使用eval可以方便地实现这个函数

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181125G0COME00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券