http://www.nnzhp.cn/archives/152

1、max,min,round

 print(max([3,4.563,3,6,2.5])) #取最大值,可循环参数即可,int类型的,字符串类型不行
print(min(9,4,7,1,0)) #取最小值
print(round(3.43535345,2)) #取即为小数,四舍五入
print(round(1.12345,2))

2、sorted

 s = ''
res = sorted(s) #对字符串排序,默认升序
print(list(res)) #需要转换下类型,打印
res = reversed(sorted(s))#reversed反转,降序排序
print(list(res))
print(sorted(s,reverse=True)) #降序也可以这样写,与上面写法效果一样。
#列表有.sort方法

3、ord、chr

 print(ord('a'))#将字母转成ascii里面的值
print(chr(97)) #把数字转成ascii码表里面的字母

4、any、all

 res = any([1,2,3,4,0]) #如果这个循环迭代序列里面有一个为真的话,就返回true
print(res)
res = all([1,1,1,0,1])#如果这个循环迭代序列里面,全部为真,就返回true
print(res)
 print(any((1,2,0))) #返回True
print(any((0,0,0))) #全部是0,返回False

5、dir获取帮助信息

 import hashlib
m = hashlib.md5('abc'.encode())
print(dir(m)) #查看变量m的所有方法

6、eval 执行python代码,只能执行简单的,定义数据类型和运算

实例1:

 # eval#执行python代码,只能执行简单的,定义数据类型和运算
print(eval('1+1'))
print(eval('{"a":"1"}'))

执行结果:

 2
{'a': ''}

实例2:

 f = open('a.txt').read() #文件里面的内容是“{'username':'abc','password':'123456'}”,但是读出来是字符串
print(type(f))
print(f)
res = eval(f) #转数据类型
print(type(res))
print(res)

执行结果:

 <class 'str'>
{'username':'abc','password':''}
<class 'dict'>
{'username': 'abc', 'password': ''}

7、exec:执行python代码的,只要语法对,都能执行,不太安全

 # 在线写代码:http://www.runoob.com/try/runcode.php?filename=HelloWorld&type=python3。这种会对敏感代码进行控制
my_code = ''' #前面写个变量,三引号作用于变量
def my():
print('运行程序')
my()
'''
exec(my_code) #执行python代码的,这种方式不安全
运行程序

8、map

map是循环帮你调用函数,然后保存函数的返回值,python3中,返回的值放到了一个生成器里面。需要list强制类型转换下(能转成list或元组,集合等可变的类型)。
map后面传的可以循环就行(字符串、列表等)
实例:
写一个调用函数:
 l = [1, 3, 4, 6, 2, 4, 7]
l2 = [] #定义一个空list存放补0后的值
def bl(i): # 定义一个补0的函数
return str(i).zfill(2)
for i in l:
l2.append(bl(i))
print(l2)
['', '', '', '', '', '', '']

上面这个可以用map写:

 #另外用map写,帮你循环调用函数
l = [1, 3, 4, 6, 2, 4, 7]
l2 = list(map(bl,l))
# l2 = tuple(map(bl,l))
# l2 = set(map(bl,l)) #集合会去重
print(l2)
['', '', '', '', '', '', '']

9、filter()

也是循环调用函数的,如果函数返回的值是真,那么就保存这个值.如果返回值假,则过滤掉(过滤你传过来的值)

实例1:上面的例子用filter过滤:
 def bl(i):  # 定义一个补0的函数
return str(i).zfill(2)
l = [1, 3, 4, 6, 2, 4, 7]
l3 = list(filter(bl,l))
print(l3)

结果:返回的都是真,则全部值保留,list强制类型转换后,放在list中

[1, 3, 4, 6, 2, 4, 7]

实例2:

 def bl(i):  # 定义一个补0的函数
if i >3:
return True
l = [1, 3, 4, 6, 2, 4, 7]
l3 = list(filter(bl,l)) #循环调用函数,过滤掉传入的list中小于3的值
print(l3)

结果:

[4, 6, 4, 7]

10、reduce()

一个月前,我同学去面试python开发岗,面试官给他出了一道题,使用三种不同的方法实现1到100的求和,并且要求语法尽量简洁。同学的代码如下

#第一种
sum1 = 0
for i in range(1,101):
sum1+=i
print(sum1)
#第二种
print(sum(range(1,101)))
#第三种
print(reduce(lambda x,y:x+y,range(1,101)))

这三种方法得到的结果都为5050
写完这个代码以后,我同学下午就收到了offer(当然是因为他薪资要得比较低的原因!!!)
听了我同学的传奇经历,我决定好好的学一学python的哪些内建函数。
在此之前,我们需要了解一下lamba。

1:lambda

lambda作为一个表达式,定义了一个匿名函数,使用lambda简化了函数定义的书写形式。使代码更为简洁,使函数的定义方式更为直观,易理解。
举个例子,平时我们手写一个函数实现两个数的求和,通常这样写:

def f(x,y):
return x+y
print(1,2)

但是使用lambda可以写成这样:

f = lambda x,y:x+y
print(f(1,2))

这里lambda作为一个表达式,定义了一个匿名函数,上例的代码x,y为入口参数,x+y为函数体,其结果就是返回x+y的和。

上面两个代码返回的结果都一样,但是使用lambada更为简洁。
lambda与map,reduce等python内建函数配合使用能发挥更强大的作用。

2:map

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。(python3中返回的是迭代器)

f = lambda x,y,z:x+y+z
x = map(f,[1,2,3],[4,5,6],[7,8,9])
for i in x:
print(i)

这段代码分别将三个列表进行求和,然后返回一个可迭代的对象。
(1+4+7)
(2+5+8)
(3+6+9)

运行结果

或者可以使用list将迭代器转换为列表

print(list(x)
1
运行结果
[12, 15, 18]

3:reduce

reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
python3使用reduce需要引入

from functools import reduce
print(reduce(lambda x,y:x+y,range(1,101)))
1
这里以我同学笔试的题目为列子,他先定义了一个lambda表达式,目的是为了求两个数的和,使用range生成1-100的数,由于reduce对list的每个元素反复调用函数f,并返回最终结果值。
因此,其过程为:
(1,2,3,4,5,6,7,8,9……..100)
1+2=3
3+3=6
6+4=10
10+5=15
………..
这样执行就相当于是执行了一次1+2+3+4+…….+100

reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100,计算:

print(reduce(lambda x,y:x+y,range(1,101),100))
计算结果为5150

---------------------
作者:katyusha1
来源:CSDN
原文:https://blog.csdn.net/katyusha1/article/details/81538944
版权声明:本文为博主原创文章,转载请附上博文链接!

内置函数-max、min、round、sorted、ord、chr、any、all、dir、eval、exec、map、filter、reduce的更多相关文章

  1. 内置函数:min 用法

    内置函数:min 用法 源码 def min(*args, key=None): # known special case of min """ min(iterable ...

  2. day 15 内置函数二 递归 lamda sorted filter map 二分法求值

    回顾 for i in dict  #对字典进行遍历,拿到的是字典的key  今日主要内容 1. lambda 匿名函数 语法: lambda 参数:返回值 不能完成复杂的操作.只能写一行 注意: 1 ...

  3. Python内置函数(4)——min

    英文文档: min(iterable, *[, key, default]) min(arg1, arg2, *args[, key]) Return the smallest item in an ...

  4. Python内置函数(43)——min

    英文文档: min(iterable, *[, key, default]) min(arg1, arg2, *args[, key]) Return the smallest item in an ...

  5. 内置函数:max 用法

    内置函数——max Python max内置函数 max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) Return the l ...

  6. Sorted 内置函数的排序使用

    Sorted 内置函数的排序使用 Sorted 排序列表 1.倒序对列表进行排序 # 对列表进行降序序排序 list = [1,3,4,23,6,7] list = sorted(list,rever ...

  7. Python中max()内置函数使用(list)

    在学习完列表和元组的基础知识后,做到一个题: 求出列表中频次出现最多的元素. 学习到了python内置函数max的用法 其参数key的用法 匿名函数lamda的用法 python内置函数max() m ...

  8. 自学Python3.3-函数分类(内置函数补充)

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  9. python内置函数,匿名函数

    一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...

随机推荐

  1. python3编程练习题

    记录一些基础编程练习题和一些遇见的坑 1)输出0到100的数字,如果数字是3的倍数输出Fizz,5的倍数输出Buzz.同时是3和5的倍数输出FizzBuzz,其他情况则打印原数字 for i in r ...

  2. django/python日志logging 的配置以及处理

    日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常.在生产环境下有很大的用处.在java 开发中通常用 log4j,logback 等三方组件.那么在 django中是怎么处 ...

  3. SQLAlchemy 使用(一)创建单一model

    前言 最近项目等待前端接接口,比较空闲.就想学习一些新东西.学啥呢?考虑到ORM的易用性,还是学习一下ORM.那么与Flask搭配的ORM有 flask-sqlalchemy 但是该组件专为Flask ...

  4. Flask开发微电影网站(八)

    1.后台管理之电影预告管理 1.1 定义电影预告表单 在app的admin目录的forms.py文件中,定义电影预告表单 # 预告表单 class PreviewForm(FlaskForm): ti ...

  5. Linux extmail的邮件服务器搭建

    注:本文来源于<extmail搭建> 一.背景介绍 ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案,核心部件包括了Postfix.Amavisd-new.C ...

  6. Java_Runtime&Process&ProcessBuilder

    目录 一.Runtime类 二.Process类 三.ProcessBuilder类 在Java中想调用外部程序,或者执行命令和可运行文件时,网上的典型实例一般都是通过Runtime.getTime( ...

  7. jsp 异步处理

    一.  概述 异步处理功能可以节约容器线程.你应该将此功能 使用在长时间运行的操作上.此功能的作用是释放正在 等待完成的线程,使该线程能够被另一请求所使用. 二. 编写异步Servlet和过滤器 We ...

  8. TCP常见的定时器及三次握手与四次挥手

    1.TCP常见的定时器 在TCP协议中有的时候需要定期或者按照某个算法对某个事件进行触发,那么这个时候,TCP协议是使用定时器进行实现的.在TCP中,会有七种定时器: 建立连接定时器(connecti ...

  9. ubantu/centos修改系统时间

    前言:有时系统上的时间和真实的时间对应不是,或者有特殊需求,需要修改系统时间.但是对应多台的服务器系统更改时间,手动的话很麻烦,这就需要写脚本或者搭建时间服务器了,统一时间,以下是对于一个不同系统修改 ...

  10. element ui table单选框点击全选问题

    <template slot-scope="scope"> <el-radio-group v-model="scope.row.HandleState ...