4.7.3 内置函数(2)

int() str() bool() set() list():将一个可迭代对象转化为列表 tuple():将一个可迭代对象转换成元组

dic(): 通过相应的方式创建字典

print()输出到屏幕
源码
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)file:  默认是输出到屏幕,如果设置为文件句柄,输出到文件sep:   打印多个值之间的分隔符,默认为空格end:   每一次打印的结尾,默认为换行符flush: 立即把内容输出到流文件,不作缓存
#示例
print(1,2,3,4,sep= ',') #打印多个值之间的分隔符,默认为空格
print(111,end='-')      #每一次打印的结尾,默认为换行符
print(222)
#输出
1,2,3,4
111-222
abs()返回绝对值
print(abs(-100))  #输出100
sum()数字相加求和

不支持元素嵌套类型的

print(sum((1,2,3,4)))   # 输出 10
print(sum((1,2,3),100)) # 输出 106
print(sum(([1,2,3],2,3)))
# 输出报错 TypeError: unsupported operand type(s) for +: 'int' and 'list'
min()最小值

比较数值大小,比较的对象必须是同类型的元素

print(min(1,2,3,4,5))   # 输出 1
print(min([1,2,3,4]))   # 输出 1
print(min((1,2,3,4),6,7))   #输出报错,不同元素类型不能比较大小
#TypeError: '<' not supported between instances of 'int' and 'tuple'

可以加key,灵活比较元素;加key是可以加函数名,min自动会获取传入函数中的参数的每个元素,然后通过你设定的返回值比较大小,返回最小的传入的那个参数。

#当没有指定比较元素时,会默认比较第一个元素
print(min((1,2,3,4),(6,7)))  #输出 (1,2,3,4)
print(min((8,2,3,4),(6,7)))  #输出 (6,7)#加key可以指定比较两个元组的第三个位置数值的大小
print(min((8,2,3,4),(6,7,11),key=lambda x:x[2]))   #输出(8, 2, 3, 4)
#还可以直接输出第三个位置上的最小值
print(min((8,2,3,4),(6,7,11),key=lambda x:x[2])[2])  #输出3

加key的练习

# list = [
#     {'name': 'alex', 'age': 73},
#     {'name': 'wusir', 'age': 35},
#     {'name': '太白', 'age': 25},
# ]
# # 将年龄最小的 字典返回。print(min(list,key=lambda x : x['age']))  #输出 {'name': '太白', 'age': 25}
# # 将年龄最小的名字返回。print(min(list,key=lambda x : x['age'])['name'])  #输出  太白
# # 将年龄最小的年龄返回。print(min(list,key=lambda x : x['age'])['age'])   #输出  25
max()最大值

用法语min一样

bytes() 把字符串转换成bytes类型
#把字符转成字节
#方法一:
s = '德玛'
x = s.encode('utf-8')
print(x)
#输出   b'\xe5\xbe\xb7\xe7\x8e\x9b'
#方法二:
print(bytes(s,encoding='utf-8'))#解码b = b'\xe5\xbe\xb7\xe7\x8e\x9b'
#方法一:
print(b.decode('utf-8'))
#方法二:使用str转换成字符串
print(str(b,encoding='utf-8'))
zip()拉链

​ zip()用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回。

l1 = [1,2,3,4]
l2 = ['a','s','b']
l3 = ('喝','汽','水','吧')
print(zip(l1,l2,l3))  #返回的时一个迭代器的内存地址
#输出<zip object at 0x000001D979C45308>print(list(zip(l1,l2,l3)))
#输出[(1, 'a', '喝'), (2, 's', '汽'), (3, 'b', '水')]
sorted()排序函数

默认从小到大

reverse = True表示从大到小排序

普通版:

对可迭代对象的每一个元素进行排序,以新的列表的形式输出

print(sorted((4,2,3,4)))
#输出  [2, 3, 4, 4]
print(sorted('34231'))
#输出  ['1', '2', '3', '3', '4']  

带key版

根据想要hi教的内容配合函数进行排序

l1 = [('盖伦', 80), ('皇子', 75), ('女警', 7), ('赵信', 59)]
#按照数字进行排序
print(sorted(l1,key=lambda x:x[1]))
#按照数字倒序排序
print(sorted(l1,key=lambda x:x[1],reverse=True))# 字典排序返回的就是排序后的key
dic = {1:'a',3:'c',2:'b'}
print(sorted(dic))   

sorted同样可以配合函数和lambda进行排序

lst = [{'id':1,'name':'盖伦','age':22},{'id':2,'name':'皇子','age':25},{'id':3,'name':'赵信','age':23},]
#按照年龄进行排序
print(sorted(lst,key=lambda x:x['name']))
filter()筛选过滤

语法: filter(function,iterable)

function: 用来筛选的函数,在filter中会自动的把iterable中的元素传递给function,然后根据function返回的True或者False来判断是否保留此项数据

iterable:可迭代对象

filter()返回一个生成器

lst = [{'id':1,'name':'盖伦','age':22},{'id':2,'name':'皇子','age':25},{'id':3,'name':'赵信','age':23},]
#筛选年龄小于30的
print(list(filter(lambda x:x['age']<30,lst)))
#按步筛选
ret = filter(lambda x:x['age']>20,lst)
print(next(ret))
print(next(ret))
map()

映射函数

语法: map(function,iterable) 可以对可迭代对象中的每一个元素进映射,分别取执行function

返回一个生成器,要用next触发map()

# map 返回一个迭代器,相当于生成器表达式:循环模式
l1 = [6,7,8,9]
print([i**2 for i in l1])   #输出[36, 49, 64, 81]
print(map(lambda x:x**2,l1))  #输出<map object at 0x0000019E654CD940>
print(list(map(lambda x:x**2,l1)))  #输出[36, 49, 64, 81]
计算两个列表中相同位置的数据的和
lst1 = [1, 2, 3, 4, 5]
lst2 = [2, 4, 6, 8, 10]
print(list(map(lambda x, y: x+y, lst1, lst2)))
#输出[3, 6, 9, 12, 15]
reduce

​ reduce的作用是先把列表中的前俩个元素取出计算出一个值然后临时保存着,接下来用这个临时保存的值和列表中第三个元素进行计算,求出一个新的值将最开始临时保存的值覆盖掉,然后在用这个新的临时值和列表中第四个元素计算,以此类推。

​ 在Python2.x版本中recude是直接 import就可以的, Python3.x版本中需要从functools这个包中导入

python2中使用方法

语法:reduce(函数名,可迭代对象)

ret = reduce(func,[3,4,5,6,7])
print(ret)   #输出25

python3中使用

from functools import reduce
print(reduce(lambda x,y : x+y,[1,2,3,4]))  #输出10
print(reduce(lambda x,y : 2*x+y,[1,2,3]))  #输出11
print(reduce(lambda x,y :x+y,['a','b','c','s']))   #输出abcs

转载于:https://www.cnblogs.com/jjzz1234/p/11069752.html

python学习之内置函数(二)相关推荐

  1. python中递归函数的基例_详谈Python基础之内置函数和递归 Python递归和循环的区别...

    Python 递归函数基例 2. 关于递归函数基例的说明,以下选项中错误的是 A 递归函数的基例决定所谓基例就是不需要递归就能求解的,一般来说是问题的最小规模下的解. 例如:斐波那契数列递归,f(n) ...

  2. python之内置函数(二)与匿名函数、递归函数初识

    一.内置函数(二) 1.和数据结构相关(24) 列表和元祖(2) list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素). tuple:将一个可迭代对象转化成元组(如果是字典, ...

  3. python D14 内置函数二

    # 内置函数二# 1.lambda匿名函数# 2.sorted()# 3.filter()# 4.map()# 5.递归函数 # 一.lambda匿名函数# 未来解决一些简单的需求而设计的一句函数# ...

  4. Python基础之内置函数

    一.内置函数 内置函数是python里自带可直接使用的函数,到python3.6共提供里68个内置函数 内置函数分6大板块: 基础数据类型:38 作用域相关:2 迭代器生成器:3 其他:12 反射:2 ...

  5. python基础之内置函数解析之二

    书接上文: 茱莉亚罗伯茨镇楼!!!! divmod(a, b) 它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数.对于混合操作数类型, 适用双目算术运算符的规则.对于整数,结果和 ( ...

  6. 笔记:python基础之内置函数2

    [].reverse():反转 reverse([]):反转的迭代器,能保留原序列 l = [1,2,3,4,5] l.reverse() print(l) l = [1,2,3,4,5] l2 = ...

  7. Python的内置函数(二十五)、readlines()

    概述 readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理. 如果碰到结束符 EOF 则返回空字符串. ...

  8. python递归函数公式_python之内置函数,匿名函数,递归函数

    一. 内置函函数 什么是内置函数?就是Python给你提供的,拿来直接用的函数,比如print,input等等.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就 ...

  9. python中globals用法_Python基础教程之内置函数locals()和globals()用法分析

    本文实例讲述了Python基础教程之内置函数locals()和globals()用法.分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式. python ...

最新文章

  1. CSS a控制超链接文字样式
  2. RocketMQ 基本概念
  3. mysql mysql_row 整行数据_PHP使用mysql_fetch_row查询获得数据行列表的方法,phpmysql_fetch_row_PHP教程...
  4. linux文件统计命令,linux文件统计命令和目录统计命令
  5. .NET本质论 类型基础
  6. Django完整配置settings.py
  7. C# override详解
  8. 雨棚板弹性法计算简图_钢结构工程量计算、报价要点
  9. 实时计算无线数据分析
  10. WordPress主题:zibll3.3完美绿色版 子比主题
  11. QQ动态头像和动态主页
  12. 洛谷 P1440 求m区间内的最小值
  13. 汉诺塔问题(递归思想)(堆栈学习)
  14. 海量数据库解决方案2011031001
  15. poj 2485 Highways 超级大水题 kruscal
  16. QT实现“摇摇乐抽奖”(Lottery和Lottery2)
  17. 惠普HP LaserJet 1320n 打印机驱动
  18. 牛津英语字典pdf下载_英语词典 | 5本图解词典,让你拥有英语思维,一图胜千言!...
  19. 详解APP兼容测试点
  20. 云计算机运用 技术,云计算技术在计算机数据处理中的应用

热门文章

  1. WebStorm添加多个项目到当前工程目录
  2. Linux下常用软件
  3. Apache开启Gzip压缩,LAMP网页压缩
  4. 机器学习知识点(三十三)机器学习入门的数学基础
  5. 算法导论之动态规划(最长公共子序列和最优二叉查找树)
  6. Windows系统笔记本禁用自带键盘
  7. 遍历二叉树的神级方法(Morris)
  8. 计算机二级考试vb内容,计算机二级考试VB重点内容.doc
  9. 自定义动画 animate || 案例:王者荣耀手风琴效果分析
  10. MyBatis的入门知识