Python中针对函数处理的特殊方法

时间:2023-07-17 19:59:30 

很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法
filter(function, sequence): 对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple
map(function, sequence) : 对sequence中的item依次执行function(item),见执行结果组成一个List
reduce(function, sequence, starting_value): 对sequence中的item顺序迭代调用function
sum(sequence): 对集合中的元素进行累加

下面针对上面的描述写一个简单的小例子:


__author__ = 'Administrator'

from functools import reduce

#主要用来掩饰map可以将某个序列中的元素传递给某个特殊的函数来处理
def map_demo():
    #定义一个将字母转换成大写的函数
    def to_upper(ch):
        return str(ch).upper()

    #对给定字符串中的每个字母应用to_upper函数
    print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))


#主要使用一个基于布尔值得函数对元素进行过滤
def filter_demo():
    def is_alnum(ch):
        return ch.isalnum()

    #!se会被过滤掉
    test_list = ['sdas', '123d', '!se', '孙阿斯蒂芬']
    #基于具体函数
    print(list(filter(is_alnum, test_list)))
    #基于列表推导
    print(list(x for x in test_list if x.isalnum()))
    #基于匿名函数
    print(list(filter(lambda x: x.isalnum(), test_list)))


#reduce的主要功能是利用列表中的两个元素迭代调用某个函数,最后得到一个结果
#在python3中要显示的添加 from functools import reduce
#本例中运行的过程大致是先是1+2=3,利用3+4=7,7+4.......
def reduce_demo():
    print(reduce(lambda x, y: x + y, range(1, 10)))


#利用sum函数累加列表中的值
def sum_demo():
    print(sum(range(10)))


if __name__ == "__main__":
    #map_demo()
    #filter_demo()
    #reduce_demo()
    sum_demo()

标签:python,python函数
0
投稿

猜你喜欢

  • 超详细图解修改pip install默认安装路径的方法

    2023-02-18 05:00:09
  • vue项目使用md5加密、crypto-js加密、国密sm3及国密sm4的方法

    2024-04-27 15:47:47
  • Python 异步协程函数原理及实例详解

    2022-05-26 11:29:55
  • python实现简单的超市商品销售管理系统

    2021-08-24 00:07:32
  • 利用python3如何给数据添加高斯噪声

    2023-06-11 20:52:17
  • 使用开源Cesium+Vue实现倾斜摄影三维展示功能

    2024-05-28 15:51:51
  • 浅谈MySQL timestamp(3)问题

    2024-01-14 17:47:23
  • Ubuntu与windows双系统下共用MySQL数据库的方法

    2024-01-24 23:38:42
  • Python中List.count()方法的使用教程

    2023-08-12 11:56:15
  • asp按关键字查询XML的代码

    2011-04-21 11:10:00
  • Golang实现常见的限流算法的示例代码

    2024-04-25 13:22:35
  • python实现输入任意一个大写字母生成金字塔的示例

    2022-02-04 10:27:19
  • 1500个绚丽主题 谷歌中国个人风格首页发布

    2008-11-12 11:14:00
  • 初学ASP编程易犯的一个错误要注意

    2008-11-07 15:08:00
  • 在Python中使用Neo4j数据库的教程

    2024-01-15 00:40:54
  • 每个ASP程序员必备的知识

    2008-09-21 21:34:00
  • python数据分析之DataFrame内存优化

    2021-09-03 23:08:29
  • python利用opencv实现SIFT特征提取与匹配

    2021-07-22 19:08:46
  • 如何利用python多线程爬取天气网站图片并保存

    2022-01-21 18:16:12
  • python中os库的函数使用

    2022-05-03 22:16:57
  • asp之家 网络编程 m.aspxhome.com