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 内置函数,匿名函数,递归的更多相关文章

  1. python学习日记(内置、匿名函数练习题)

    用map来处理字符串列表 用map来处理字符串列表,把列表中所有水果都变成juice,比方apple_juice fruits=['apple','orange','mango','watermelo ...

  2. python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)

    内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...

  3. python基础学习Day14 内置函数 匿名函数

    一.内置函数里几个高频重要函数 (1)min\max函数的用法 以min函数的为例: min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值). l1 =[(,),(, ...

  4. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  5. python(内置高阶函数)

    1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...

  6. JMeter 内置日期(时间)函数总结

    JMeter 内置日期(时间)函数总结   by:授客 QQ:1033553122 1. 测试环境 apache-jmeter-3.3 下载地址: http://jmeter.apache.org/c ...

  7. Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)

    本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语 ...

  8. python 练习题:请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串

    # -*- coding: utf-8 -*- # 请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串 n1 = 255 n2 = 1000 print(hex(n1)) pr ...

  9. classmethod、staticclassmethod内置装饰器函数

    # method 英文是方法的意思 # classmethod 类方法 # 当一个类中的方法中只涉及操作类的静态属性时,此时在逻辑上,我们想要直接通过类名就可以调用这个方法去修改类的静态属性,此时可以 ...

  10. property内置装饰器函数和@name.setter、@name.deleter

    # property # 内置装饰器函数 只在面向对象中使用 # 装饰后效果:将类的方法伪装成属性 # 被property装饰后的方法,不能带除了self外的任何参数 from math import ...

随机推荐

  1. Cause: java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配

  2. 前端自动化构建工具——gulp环境搭建教程

    gulp是前端工程化的工具,它可以对html,css,js等代码和图片进行压缩,也可以对sass和less等预处理语言进行编译,代码部署.gulp学起来简单,用起来方便,大大提高我们工作效率. 这里可 ...

  3. Pregel Master

  4. python3添加requests库

    1.资源下载 https://codeload.github.com/psf/requests/zip/master https://www.python.org/ https://files.pyt ...

  5. CentOS7.6安装Go-1.12.9

    安装步骤 Go的官网:https://golang.google.cn 1. 下载压缩包 wget https://dl.google.com/go/go1.12.9.linux-amd64.tar. ...

  6. Vue.js 复选框

    demo <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  7. 转化json里面的特殊字符

    前几天要做一个接受图片地址并将图片地址存放在数据库中,发现图片地址中有好多特殊字符反斜杠,中括号之类的,下面就是解决这个问题的代码 public String StringToJson(String ...

  8. 使用osgearth2.9 rex引擎在Qt中黑屏的问题修复

    将osgUtil::RenderStage.cpp中的下列红色代码注释重新编译即可: if ( !colorAttached ) { setDrawBuffer( GL_NONE, true ); s ...

  9. .net Core使用EFCore连接数据库

    一.SQL Service 1.创建实体类 public class Student { public int Id { get; set; } [Required] [Display(Name =& ...

  10. 40 VSCode下.json文件的编写——(1) linux/g++ (2).json中参数与预定义变量的意义解释

    0 引言 转入linux/VSCode编程之后,迫切了解到有必有较为系统地学习一下VSCode中相关配置文件的写法.下面将分为 linux/g++编译指令..json文件关键词/替换变量的意义.编译链 ...