lambda、函数

1、filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

# -*- coding: utf-8 -*-
# @Time : 2021/1/19 0019
# @Author : yang
# @Email : 2635681517@qq.com
# @File : test_filer.py
def f(n):
    return n % 2 != 0


def use_filer(l):
    """
    获取指定列表/元组中的基数
    :param 1 list/tuple要过滤的数据
    return:过滤好的数据列表
    """
    # rest = filter(lambda n: n % 2 != 0, l)
    rest = filter(f,l)
    return rest


if __name__ == "__main__":
    l = [1, 2, 3, 4, 5, 6, 7, 9, 8]
    rest = use_filer(l)
    print(list(rest))
```python
结果
[1, 3, 5, 7, 9]

map() 函数会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

# -*- coding: utf-8 -*-
# @Time : 2021/1/19 0019
# @Author : yang
# @Email : 2635681517@qq.com
# @File : test_map.py

def pow_numebr(l):
    rest_list = []
    for x in l:
        rest_list.append(x * x *x)
    return rest_list

def f(n):
    return n*n*n


def pow_num_use_map(l):
    """
    使用map函数计算给定列表的每一项的立方
    :param l: list/type int类型的列表或者是元祖
    :return: 原来列表中每一项的立方
    """
    return map(f, l)
def pow_num_use_lambda(l):
    """
       使用lambda函数计算给定列表的每一项的立方
       :param l: list/type int类型的列表或者是元祖
       :return: 原来列表中每一项的立方
       """
    return map(lambda x:x*x,l)

if __name__ == "__main__":
    l = [1, 2, 3, 4, 5]
    rest = pow_numebr(l)
    print(rest)
    print("------------------")
    rest1 = (map(pow_numebr,(l)))
    print((rest1))
    rest_map = pow_num_use_map(l)
    print(list(rest_map))
    print("--------------")
    rest2 = pow_num_use_lambda(l)
    print(list(rest2))
结果
[1, 8, 27, 64, 125]
------------------
<map object at 0x000002D2B4DA53C8>
[1, 8, 27, 64, 125]
--------------
[1, 4, 9, 16, 25]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值