博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python常用函数
阅读量:5102 次
发布时间:2019-06-13

本文共 1397 字,大约阅读时间需要 4 分钟。

1. range与xrange

range([start,] stop[, step])

range可以创建一个从start到stop(不包含)的列表,用在循环中时,会一次性把列表都加载到内存中。

 

xrange([start,] stop[, step])

xrange可以创建一个从start到stop(不包含)的生成器,用在循环中时,不会一次性加载所有内容,而是每次调用返回其中的一个值,因此始终占用很小的内存,并不需要开辟很大的内存空间。

2. lambda

lambda [arg1[, arg2, ... argN]]: expression

lambda是Python里的匿名函数

func =  lambda x,y: x*yfunc(2, 5) #10

3. map

map(function, sequence): 对sequence中的item依次执行function(item),返回list

map(lambda x:x+1, range(1,5))#[2, 3, 4, 5]

4. filter

filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)

def func(x)    return x>5filter(func, range(2, 8)) #[6, 7]

5. reduce

reduce(function, sequence, starting_value):对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用

reduce(lambda x, y: x+y, range(1, 101))   #5050# 1+2+3+...+100 = 5050reduce(lambda x, y: x+y, range(1, 101), 100)   #5150# 100 + 1+2+3+...+100 = 5150

 6. yield

yield用来把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator。

def fibonacci(m):    n, a, b = 0, 0, 1    while n < m:        yield b        a, b = b, a+b        n += 1

在 for 循环执行时(会自动调用 next()),每次循环都会执行 fibonacci 函数内部的代码,执行到 yield b 时,fibonacci 函数就返回一个迭代值,下次迭代时,代码从 yield b 的下一条语句继续执行,而函数的本地变量看起来和上次中断执行前是完全一样的,于是函数继续执行,直到再次遇到 yield。

当函数执行结束时,generator 自动抛出 StopIteration 异常,表示迭代完成。在 for 循环里,无需处理 StopIteration 异常,循环会正常结束。

 

转载于:https://www.cnblogs.com/zhouwenhong/p/3920882.html

你可能感兴趣的文章
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>
Intel HEX 文件格式
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
php_扑克类
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
Mysql 索引优化 - 1
查看>>
LeetCode(3) || Median of Two Sorted Arrays
查看>>
大话文本检测经典模型:EAST
查看>>
linux基础命令-chgrp/chown/chomd
查看>>
待整理
查看>>
一次动态sql查询订单数据的设计
查看>>
C# 类(10) 抽象类.
查看>>
Nginx+Keepalived 实现双击热备及负载均衡
查看>>
Vue_(组件通讯)子组件向父组件传值
查看>>
jvm参数
查看>>
Something-Summary
查看>>
Spring学习笔记
查看>>