Python常见内置高效率函数用法示例

yipeiwu_com6年前Python基础

本文实例讲述了Python常见内置高效率函数用法。分享给大家供大家参考,具体如下:

1.  filter(function,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是True或者False)筛选,返回符合条件的元素,重组成一个String,List,Tuple等(跟sequence一样)

示例

def func(x):
  return x%2==0 and x%3==0
filter(func,(3,6,8,12,15,21))
#(6, 12)

2. map(functiom,sequence)

将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是数值)计算,无论sequence是什么类型,都返回List

示例

def func(x):
  return x*2
map(func,(3,6,8,12,15,21))
#[6, 12, 16, 24, 30, 42]

map支持多个sequence输入,但是function也要有相同数量的参数

def func(x,y):
  return x+y
seq1=[3,6,4,8]
seq2=[6,4,3,7]
map(func,seq1,seq2)
#[9, 10, 7, 15]

注意:以上示例是在python2.7中的,python3要用如下用法

>>> map_obj = map(lambda x:x+1,[1,2,3,4])
>>> map_obj
<map object at 0x0000014C511BD898>
>>> list(map_obj)
[2, 3, 4, 5]

3. reduce(function, sequence, starting_value)

将sequence中的item顺序迭代调用function,例如可以用来对List求和:

def add(x,y):
  return x+y
reduce(add,[3,6,4,8])
#21
#相当于运行‘3+6+4+8'=21

如果有starting_value,还可以作为初始值调用

def subtract(x,y):
  return x-y
reduce(subtract,[3,6,4],20)
#7
#相当于'20-3-6-4'=7

4. lambda匿名函数

语法:lambda 参数1,参数2(,参数n..):表达式     返回的是一个函数对象

示例

func=lambda x,y:x+y
func(3,5)
#8

将lambda和reduce结合

reduce(lambda x,y:x+y,[3,6,4,8])
#21

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python实现给文件添加内容及得到文件信息的方法

本文实例讲述了Python实现给文件添加内容及得到文件信息的方法。分享给大家供大家参考。具体分析如下: 经常会遇到给文件添加内容的时候,如果只是添加在文件的末尾,就比较简单了: fi...

python写入并获取剪切板内容的实例

写桌面程序或有些特殊操作的,经常需要访问剪切板。python有专用的模块,可以很方便简单的操作剪切板 如下: #coding:utf-8 import win32clipboard...

Python使用pyautocad+openpyxl处理cad文件示例

本文实例讲述了Python使用pyautocad+openpyxl处理cad文件。分享给大家供大家参考,具体如下: 示例1: from pyautocad import Autoca...

对Pytorch神经网络初始化kaiming分布详解

对Pytorch神经网络初始化kaiming分布详解

函数的增益值 torch.nn.init.calculate_gain(nonlinearity, param=None) 提供了对非线性函数增益值的计算。 增益值gain是一个...

Python基础学习之函数方法实例详解

本文实例讲述了Python基础学习之函数方法。分享给大家供大家参考,具体如下: 前言 与其他编程语言一样,函数(或者方法)是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。...