内置函数2 递归函数
列表和元祖
list : 将一个可迭代对象转换化列表(如果是一个字典,默认将key 作为列表的元素,那个值是不会加进来的)
tuple: 将一个可迭代对象转化成元组(如果是字典,默认将key作为列表的元素)
l = list({'k1':1,'k2':2}) print(l) tu = tuple({'k1':1,'k2':2}) print(tu)['k1', 'k2'] ('k1', 'k2')
reversed : 将一个序列翻转,并返回此翻转序列的迭代器
l = [1,5,7,9,3,2,4] print(list(reversed(l)))---------------------》[4, 2, 3, 9, 7, 5, 1]结果是一个迭代器 注意如果不用 list 包起来的话 ---》<list_reverseiterator object at 0x00000000028E0A58>这样人是识别不了的 不然就for循环 可以循环打印出来
l1 = [1,3,4,2,6]s1 = 'abcdefg'dic = {'name':'alex','age':1000,'hobby':'oldwomen'} # 不行print(reversed(l1))for i in reversed(l1): print(i)for i in reversed(s1): print(i)for i in reversed(dic): 字典是翻转不了的 报错!!! print(i)
slice:构造一个切片对象,用于列表的切片,其实就是做一个切片的东西设好配置,对列表用就直接切之前配置好的。
l3 = [i for i in range(10,20)] sli_obj = slice(0,5,2) print(l3[sli_obj]) -----------------------0到5 就是10,11,12,13,14 步长2输出 [10, 12, 14]
str: 将数据转化成字符串
format:与具体数据相关,用于计算各种小数,精算等,展示一个有点意思的 其他的一般用不到。
# print(format('test', '<20')) # print(format('test', '>20')) # print(format('test', '^20'))---------------- 下面是效果 test testtest
bytes : unicode -------->bytes 类型 ---其实就是一个单方面的转换 没什么卵用 知道就行了
a1 = '太白' b1 = bytes(a1,encoding='utf-8') print(b1,type(b1)) ------------------------ 输出 b'\xe5\xa4\xaa\xe7\x99\xbd' <class 'bytes'>
id 内存地址:
# 格式化输出 %r # msg = 'alex 是 %r的人' % ('德高望重') # print(msg)
sorted:对所有可迭代的对象进行排序操作(立马有一个默认方法 reverse = False 不会显示 这个是从小到大,如果等于True 那就是从大到小)
l1 = [2,3,5,3,1,9,8,6] l1.sort() print(l1) print(sorted(l1)) # 形成了一个新列表 print(l1) # 原列表不变 -------------------- sort 是只对列表可以用 --------------- 下面这个要注意 总结的时候就搞混了
l2 = [(1,1000),(2,18),(4,250),(3,500)]def func1(x): return x[1]print(sorted(l2,key=func1,reverse=True)) #比的是第二位置的数 从大到小 [(1, 1000), (3, 500), (4, 250), (2, 18)]print(sorted(l2,key=func1)) #比的是第二位置上的数 默认 从小到大 [(2, 18), (4, 250), (3, 500), (1, 1000)]print(sorted(l2,reverse=True)) #写出等于True 从大到小(没写key= 没传元素进函数 直接比的第一位置数)[(4, 250), (3, 500), (2, 18), (1, 1000)] #,直接比第一个 一般不写出reverse默认从小到大 里面内置方法是reverse=Falsel= [1,9,3,4,2,6,7,8]print(list(reversed(l))) #这个是reversed(翻转) 不是 reverse 这个是sorted的内置方法reverseprint(sorted(l))
all : 可迭代对象中,全部都是True 才是True 全真 就真
any:可迭代对象中,有一个True 就是 True 有一个为真 就真
l1 = [1,2,3,5,6,7] tu1 = ('alex','太白', 'wusir', '女神') dic = {'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100} print(zip(l1,tu1,dic)) for i in zip(l1,tu1,dic):print(i) ------------------ <zip object at 0x0000000002694188> (1, 'alex', 'name') (2, '太白', 'age') (3, 'wusir', 'hobby') (5, '女神', 'weight') ------------------------第二个元组中 只有4个元素 那么就最多4条数据,拉链方法其他多的 没元素和他对齐 呈现一个列表了注意字典的话 就是key 没值的事情
filter : 过滤 出来的是迭代器-------
l1 = [i for i in range(10)] def func1(x):return x % 2 == 0 print(list(filter(func1,l1))) #过滤,筛选出来的就是迭代器 print(next(filter(func1,l1))) #next一下 就是一个值 0 ----------------结果 [0, 2, 4, 6, 8]0
map: 会根据提供的函数对指定序列做映射, 循环模式 下面展示 一题两做
l1 = [1,2,3,4] def func(x):return x**2 print(list(map(func,l1)))print([i**2 for i in l1]) # 列表推导式 一行 列表中每一个数的平方 也可以i*i
重 # print() sum reversed点 #可以有 key 的: min max map sorted filter zip
匿名函数: lambda 表达式
普通函数 有且只有返回值的函数才可以用匿名函数进行简化,一行函数 看下面 范例
def func2(x):return x*2 print(func2(2)) -------------------------- func2 = lambda x : x**2 print(func2(2)) -------------------------------------解释一波:lambda后面x 就是传到def func2括号里的后面x*2 x怎么怎么样 就是return的具体的我也没搞太懂
~~~~~~~~~~~~~~~~~~
l2 = (1,1000),(2,18),(4,250),(3,500) 照第二个值 从小到大 排序print(sorted(l2,key=lambda x:x[1])) ----------------------------------------------------------------------------- 利用内置函数匿名函数将dic按照值进行排序。 dic={'k1':10,'k2':100,'k3':30} print(sorted(dic.items(),key=lambda x:x[1])) ---------------------------------------------------------- 利用内置函数匿名函数 计算列表的每个数的2倍。print(list(map(lambda x:x*2,[1,5,7,4,8]))) ------------------------------------------------- 利用内置函数匿名函数,将值大于10的留下来。print(list(filter(lambda x: x>10,[5,8,11,9,15])))------------------------------- # func = lambda x:x if x > 2 else x * 2 也可以三元运算 好像是这样说的 一种方式
人理解函数,神理解递归~
默认递归深度 :998
n = 1 def func(x):print(x)x += 1func(x) func(n)也可以自己加 # import sys # sys.setrecursionlimit(100000) n = 1 def func(x):print(x)x += 1func(x) func(n)
# alex 比 wusir 大两岁 n = 4 # wusir 比日天 大两岁 n= 3 # 日天 比太白 大两岁 n = 2 # 太白 24岁 n = 1 ----------------- def age(n):if n == 1:return 24else:return age(n-1) + 2 print(age(4))
转载于:https://www.cnblogs.com/single82/p/9520045.html
内置函数2 递归函数相关推荐
- 内置函数、匿名函数,递归函数
内置函数: https://www.processon.com/view/link/5adc6062e4b04721d63171eb?pw=3218 匿名函数:lambda lambda 语法: la ...
- Python基础—内置函数、匿名函数、递归函数
文章目录 一.内置函数 1 作用域相关 2 其他 Ⅰ 字符串类型代码的执行: Ⅱ 输入输出相关: Ⅲ 数据类型相关: Ⅳ 内存相关: Ⅴ 文件操作相关 Ⅵ 模块操作相关 Ⅶ 帮助方法 Ⅷ 调用相关 Ⅸ ...
- 递归函数与内置函数和函数式编程
递归函数: 定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身, 这个函数就是递归函数. 实例1(阶乘): 在这里插入代码片def factorial(n):result=nfor i i ...
- html中写嵌套的js函数,Javascript 嵌套函数 - 递归函数 - 内置函数详解
在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数. JavaScript特殊函数有3种: (1)嵌套函数: (2)递归函数: (3)内置函数: 下面详细给大家讲解 ...
- python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)
内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...
- 递归函数合式分解python_学习python的day10之递归与内置函数
一.递归 递归的特点: 函数内部自己调用自己 必须出口 需求:求3以内的累加和 defsum(a):if a == 1:return 1 return a+sum(a-1) result= sum(3 ...
- python递归函数例题_python练习题----函数、内置函数、递归等
1. 列举布尔值为False的值 { }.' '.0.().[ ].False.None2.根据范围获取其中3和7整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件数字的总和 #自答 fr ...
- Python学习8 函数 匿名函数 内置函数
转换相关的方法-eval 转换相关的方法-json 函数基本语法大纲 函数概念 示例: 题目: 函数的参数 def f(x,y=1,*z,**abc):print(x,y,z,abc,sep=&quo ...
- day13-递归函数、匿名函数、内置函数
一 什么是函数递归 函数递归调用(是一种特殊的嵌套调用):在调用一个函数的过程中,又直接或间接地调用了该函数本身(也叫递归调用) 1 #直接调用本身 2 def f1(): 3 print('from ...
最新文章
- 热闹的聚会与尴尬的聚会_如何增加(和保存)您最喜欢的技术聚会
- 使用PowerShell调用MTools分析MongoDB性能并发送邮件
- Linux文件类型有哪些?
- python数据处理实例-入门Python数据分析最好的实战项目(一)
- python学习(三)数字类型示例
- 阮一峰:jQuery官方基础教程笔记
- “精耕细作”桌面云市场的锐捷,重磅发布三擎云桌面
- 从起始点到目标点的最短步数(BFS)
- ASP人事工资管理系统毕设
- android转usb工具,绿联Type-C转Micro usb数据线,Type-C转安卓接口转换线
- 基于SWT的Sash和FormLayout的自定义分隔窗体
- CRT中的sftp上传文件出现中文路乱码
- cpu使用率偏高如何排查
- html word 打开,HTML以Word或Excel打开
- CMO全国第十,保送清华姚班,别人家的牛娃是这样学习数学竞赛的!
- web新手之使用easyAR实现WebAR
- QAbstractButton的clicked、pressed、released、toggled、triggered等信号区别
- 软件架构设计-软件架构风格、分层架构
- java u0000_Java-从字符串中删除\ u0000
- matlab不能打开wps表格,wps无法调用excel表格数据源-wps打不开excel表格文件怎么办...
热门文章
- 鹅厂流出两份Android Framework技术宝典火了,完整版 PDF 限时开放下载
- 高斯衰减python实现
- C++五子棋源码(Qt版)
- Java【汉诺塔问题】详细图文解析, 包教包会
- 网游服务器维护费巨大,全网首例!玩家氪金金额巨大导致服务器瘫痪,官方单独安排客服!...
- 尸体火化,世界上再也找不到第二个比我社死的人了
- linux_SIGCHLD信号-子进程回收
- 攀藤G5S数据位编码
- oracle 4043,oracle desc dba_data_files视图报ORA-4043错误小记
- 计算机全能学什么,什么是全能学生本 全能学生本什么意思