python 复习之常用函数

map 函数:

    map(func, *iterable)用函数对可迭代对象中的每一个元素作为参数计算出新的迭代器对象,当最短的一个迭代器完成迭代后结束。

例:

# 生成一个迭代器,此迭代器可以生成整数的平方

def pow2(x):
    return x ** 2

iter = map(pow2, range(1,10))

# 计算1 + 4 + 9 + 16 + .....+ 10000 和是多少呢?
print(sum(map(pow2, range(1, 101))))

#   生成一个迭代器,此迭代器可以生成1**4, 2**3, 3**2, 4**1

iter = map(pow, range(1, 5), range(4, 0, -1))
>>> [x for x in iter]
[1, 8, 9, 4]

filter 函数 过滤/筛选:

    filter(函数或None,iterable)

作用:

    筛选可迭代对象iterable中的数据,返回一个可迭代对象,此可迭代对象将对iterable中数据进行筛选。

函数 function将对iterable中的每个元素进行求值,返回False则丢弃数据,反之,保留数据

例:

# 奇数规则
def is_odd(x):
    return x % 2 == 1

fit = filter(is_odd, range(1,10))

>>> [x for x in fit]
[1, 3, 5, 7, 9]

sorted 函数:

格式:

    sorted(iterable, key=None, reverse=False)

作用:

    排序

说明:

    key是用来提供一个值,这个值将作为排序的依据

例:

>>> l = [5, -2, -4, 0, 3, 1]
>>> sorted(l)
[-4, -2, 0, 1, 3, 5]
>>> sorted(l, reverse=True)
[5, 3, 1, 0, -2, -4]
>>> sorted(l, key=abs) # abs绝对值
[0, 1, -2, 3, -4, 5]

>>> names = ["LSK", "XH", "LM", "WYAGD"]
>>> sorted(names, key=len)
['XH', 'LM', 'LSK', 'WYAGD']

lambda 匿名函数:

作用:

    创建一个匿名函数对象

    同def类似,但不提供函数名

语法:

    lambda[参数1,参数2,...] : 表达式

例:

myadd = lambda x, y: x + y

myadd(1,2)

eval() 函数:

作用:

    把一个字符串当成一个表达式执行,返回表达式执行后的结果

格式:

    eval(source, globals=None,locals=None)

例:

>>> x = 100
>>> y = 100
>>> a = eval("x+y")
>>> a
200


ls = {"x": 1, "y":2}
a = eval("x+y", None, ls)
>>> a
3

>>> gs = {"x": 10, "y":20}
>>> a = eval("x+y", gs)
>>> a
30

exec 函数:

作用:

    把一个字符串当做程序执行

格式:

    exec(source, globals=None,locals=None)

例:

>>> x = 100
>>> y = 200
>>> s = 'print("x + y = ", x+y)'
>>> exec(s)
x + y =  300

exec的globals,locals参数的用法与eval一致。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值