day23 内置函数,匿名函数,递归
Python之路,Day11 = Python基础11
内置函数
divmod(x, y) # (商, 模)
enumerate(可迭代对象) # (序号,值)
eval(字符串) # 把字符串当成命令执行
set({1,2,3}) # 可变集合(增删改)
frozenset({1,2,3}) # 不可变集合
globals() # 查看全局变量
locals() # 查看局部变量
isinstance(3, int) # 查看3是不是int类型
pow(3,3) # 3**3
pow(3,3,2) # 3**3 % 2
reversed() # 翻转
round(3.3456, 3) # 保留3位小数后四舍五入
x = slice(2,5,2) # 获得一个切片对象
l[x]
上面两句等同于: l[2:5:2], 但上面定义的 x 可以提供给好多个列表使用
zip():拉链函数
s = 'hello'
l = [1,2,3,4,5,6]
zip(s,l)
一 一对应,多的就不要了
map:映射,每个元素执行lambda表达式结果
l=[1,2,3,4]
m = map(lambda x:x**2, l)
生成一个迭代器,循环后结果
print(list(m))
>>[1,4,9,16]
reduce:合并
from functools import reduce
reduce(合并规则(func),可迭代对象range(100),初始值)
filter
filter(lambda, 列表) # 打印返回结果为True的值
sorted:排序,没有改变原来的顺序
sorted(list)
sorted(list, reverse=True)
匿名函数
func2 = lambda x:x**2 # 默认return
print( func2(2) )
等同于:
def func(x):
return x**2
print( func1(2) )
递归
1.直接或间接调用自己
2.有停止的条件
3.规模应该每次变小
=========================================================
1 文件内容如下,标题为:姓名,性别,年纪,薪资 egon male 18 3000
alex male 38 30000
wupeiqi female 28 20000
yuanhao female 28 10000 要求:
从文件中取出每一条记录放入列表中,
列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式 2 根据1得到的列表,取出薪资最高的人的信息
3 根据1到的列表,取出最年轻的人的信息
4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
5 根据1得到的列表,过滤掉名字以a开头的人的信息
info_list = [{'name':i.split()[0],'sex':i.split()[1], 'age':i.split()[2], 'salary':i.split()[3]} for i in open('info',encoding='utf-8')]
print(max(info_list,key=lambda x:x['salary'])) # 最大值
print(min(info_list,key=lambda x:x['age'])) # 最小值
def func1(x):
x['name'] = x['name'].capitalize()
return x
# print(list(map(lambda x:x['name'].capitalize(), info_list)))
print(list(map(func1, info_list)))
# 首字母大写,目测有点问题,等会儿解决下
print(list(filter(lambda x:not x['name'].startswith('a'), info_list)))
# 6 使用递归打印j(前两个数的和得到第三个数)
# 0 1 1 2 3 5 8...
def nbqe(a=0, b=1):
if a < 50000:
print(a, end=' ')
c = a + b
nbqe(b, c) nbqe() # =====================================
l = [0, ]
def fbnq(a=0, b=1):
l[0] = a
return b,a+b a = 0
b = 1
total = 100000
for i in range(total):
a, b = fbnq(a, b) print('第%s个值为:%s'%(total, l[-1]))===
day23 内置函数,匿名函数,递归的更多相关文章
- python学习日记(内置、匿名函数练习题)
用map来处理字符串列表 用map来处理字符串列表,把列表中所有水果都变成juice,比方apple_juice fruits=['apple','orange','mango','watermelo ...
- python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)
内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...
- python基础学习Day14 内置函数 匿名函数
一.内置函数里几个高频重要函数 (1)min\max函数的用法 以min函数的为例: min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值). l1 =[(,),(, ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python(内置高阶函数)
1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...
- JMeter 内置日期(时间)函数总结
JMeter 内置日期(时间)函数总结 by:授客 QQ:1033553122 1. 测试环境 apache-jmeter-3.3 下载地址: http://jmeter.apache.org/c ...
- Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)
本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语 ...
- python 练习题:请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串
# -*- coding: utf-8 -*- # 请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串 n1 = 255 n2 = 1000 print(hex(n1)) pr ...
- classmethod、staticclassmethod内置装饰器函数
# method 英文是方法的意思 # classmethod 类方法 # 当一个类中的方法中只涉及操作类的静态属性时,此时在逻辑上,我们想要直接通过类名就可以调用这个方法去修改类的静态属性,此时可以 ...
- property内置装饰器函数和@name.setter、@name.deleter
# property # 内置装饰器函数 只在面向对象中使用 # 装饰后效果:将类的方法伪装成属性 # 被property装饰后的方法,不能带除了self外的任何参数 from math import ...
随机推荐
- 22-5-join
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [JZOJ 5811] 简单的填数
题意:自己搜吧... 思路: 记二元组\((x,l)\)表示当前为\(x\)且之前有\(l\)个连续数与\(x\)相同. 并且维护up和low数组表示取到最大/最小值时,连续序列的长度. 正一遍,反一 ...
- .Net Core 部署之一 《CentOS 从GitHub/Gitee 等源代码网站部署Web网站》
先看下楼主从某阿打折购买的渣渣服务器 lsb_release -a 一.安装dotnet-SDK 注册微软的服务 sudo rpm -Uvh https://packages.microsoft.co ...
- Thread状态
- LeetCode刷题笔记-贪心法-格雷编码
题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列.格雷编码序列必须以 0 开头. 来源:力扣(Leet ...
- 剑指offer——28对称的二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 题解: 使用正常前序遍历与反向的前序遍历进行比较结果即可,注意,需将空 ...
- webService服务简单实现
首先写一个简单的webservice服务 package com.service.impl; import java.util.Date; import javax.jws.WebService; i ...
- SpringBoot-集成PageHelper5.1.2踩坑
背景就不介绍了,项目是SpringBoot+MyBatis搭建的,需要集成git上的PageHelper5.1.2,这个插件大家都比较熟悉了 之前一直用的PageHelper4.0.3,集成是这样的: ...
- spark-sql性能优化之——动态实现多个列应用同一个函数
在对一个dataframe的多个列实现应用同一个函数时,是否能动态的指定? 例如: 对A,B,C三列实现分组统计 1.初始化spark,构建DF val spark = SparkSession.bu ...
- Python中字典的详细用法
#字典 #字典是Python中唯一内建的映射类型.字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组 #一.字典的使用 #在某些情况下,字典比列表更加适用: ...