一、内置函数里几个高频重要函数

(1)min\max函数的用法

以min函数的为例:

min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。
l1 =[(,),(,),(,)]
def func1(x):
return x[]
print(min(l1,key=func1)) 结果为:(2,18)

解释:

(1)他会将iterable里面的每个元素自动取出来。

(2)他会将你的返回值作为比较大小的具体条件。

(3)它会将遍历的元素返回回来

(2)repr:返回一个对象的string形式(原形毕露)

print('alex')        # alex
print(repr('alex')) # 'alex'
print(repr("{'alex':'sb'}")) # "{'alex':'sb'}"
print(('alex是%r的人'%('德高望重'))) # alex是'德高望重'的人

注意:repr() json pickle 序列化模块与特殊字符串的区别

(3)sorted 对可迭代对象排序

1.1列表

l1 = [1,5,4,6,3]
l1.sort() # 原列表发生改变
# print(sorted(l1)) # 原列表不变
print(l1)

1.2元素为元组的列表:以该元组第一个元素排序

l2 = [(1,100),(2,18),(4,250),(3,50)]
print(sorted(l2)) # [(1, 100), (2, 18), (3, 50), (4, 250)]

1.3 元素为元组的列表:以该元组第二个元素排序

def func(x):
return x[1]
print(sorted(l2,key=func,reverse= False)) # [(2, 18), (3, 50), (1, 100), (4, 250)]

1.4字典 :利用内置函数匿名函数将dic按照值进行排序。

dic={'k1':10,'k2':100,'k3':30}
print(sorted(dic.items(),key=lambda x:x[1])) # x为元组 print(sorted(dic,key=lambda x:dic[x])) # x为键 结果为: [('k1', 10), ('k3', 30), ('k2', 100)]

  ['k1', 'k3', 'k2']

 

(3)zip  拉链方法

l1 = [1,2,3]
tuple1 = ('alex','太白','wusir','女神')
dic1 = {'name':'日天','age':28,'hobby':'tea'}
print(zip(l1,tuple1,dic1)) # <zip object at 0x000002EC0EBD0A48>
for i in zip(l1,tuple1,dic1):
print(i) 结果为:
(1, 'alex', 'name')
(2, '太白', 'age')
(3, 'wusir', 'hobby')

注意:如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同

(4)filter   过滤   迭代器

l1 = [i for i in range(10)]
def func1(x):
return x % 2 == 0
print(list(filter(func1,l1))) # [0, 2, 4, 6, 8]

再举例子 :利用内置函数匿名函数,将值大于10的留下来。

l2 =[5,8,11,9,15]
print(list(filter(lambda x:x > 10,[5,8,11,9,15]))) # 过滤 留下符合条件的值

(5)map:会根据提供的函数对指定序列做映射。循环模式

l2 = [1,5,7,4,8]
利用内置函数匿名函数 计算列表的每个数的2倍。
print(list(map(lambda x:x **2,[1,5,7,4,8] )))  # 映射  得出结果

print(map(lambda x:x *2,[1,5,7,4,8] )) # 迭代器

结果为:
[1, 25, 49, 16, 64] <map object at 0x0000021A000D3DD8>

(6)sum 求和,可以设初始值

sum(iterable(可迭代对象),start-num(初始值))

print(sum([1,2,3,4,5,6],100))

结果为:
121

(7)print() 的用法

def func1(*args,**kwargs):
print(*args) # 打散 1 2 3 4
print(args) # 元组 (1, 2, 3, 4)
print(kwargs) # 字典,不能打散 {'name': 'alex', 'age': '100'}
func1(1,2,3,4,name = 'alex',age = '') print(1,2,3,sep='|') # 1|2|3
print(1,end=' ')
print(222) # 1 222

(8)reversed:将一个序列翻转,并返回此翻转序列的迭代器

l1 = [1,3,4,5,8]
s1 = 'abcdef'
print(reversed(l1)) # 迭代器 for i in reversed(l1):
print(i) for i in reversed(s1):
print(i)

二、匿名函数

条件:普通函数 有且只有返回值的函数才可以用匿名函数进行简化,一行函数。
匿名函数 lambda表达式
func2 = lambda x:x*2
print(func2(6)) 结果为:
12

python基础学习Day14 内置函数 匿名函数的更多相关文章

  1. Python基础学习五 内置函数

    1.函数补充: 1)函数返回值return可以有多个 2)补充示例: nums = [0,1,2,3,4,5,6,7,8] #如何将list里面的元素变为字符串类型 new_nums = [str(x ...

  2. python基础学习笔记——内置函数

    一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内 ...

  3. python 基础篇 15 内置函数和匿名函数

    ------------------------>>>>>>>>>>>>>>>内置函数<<< ...

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

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

  5. python基础 (装饰器,内置函数)

    https://docs.python.org/zh-cn/3.7/library/functions.html 1.闭包回顾 在学习装饰器之前,可以先复习一下什么是闭包? 在嵌套函数内部的函数可以使 ...

  6. Python 2.7 学习笔记 内置语句、函数、标准库

    使用任何开发语言进行软件开发,都离不开语言提供的内置库(或Api),甚至说内置库的强大及使用是否方便都会影响大家对开发语言的选择. python语言,一样提供了很多内置的功能,可供开发时使用.主要有如 ...

  7. python基础之常用内置函数

    前言 python有许多内置的函数,它们定义在python的builtins模块,在python的代码中可以直接使用它们. 常用的内置函数 类型转换 int python的整数类型都是int类型的实例 ...

  8. Python 基础之常用内置函数

    1.常用内置函数 (1)abs 绝对值函数 intvar = -9 res = abs(intvar)print(res) (2)round 四舍五入 (n.5 n为偶数则舍去 n.5 n为奇数 ,则 ...

  9. python 基础知识-day6(内置函数)

    1.sorted():用于字典的排序 dict1={"name":"cch","age":"3","sex&q ...

随机推荐

  1. vue+webpack+express中间件接口使用

    环境:vue 2.9.3; webpack 目的:接口的调用 跨域方式: 1.express中间的使用 2.nginx代理 3.谷歌浏览器跨域设置 -------------------------- ...

  2. hive类型转化错误,会错误提示指定分区参数

    select * from TRAD_LIST t WHERE t.dt >= '2017-10-18' and t.dt <= '2017-11-01' and t.con_level ...

  3. angularjs指令实现轮播图----swiper

    'use strict'; angular.module('app').directive('swipersLbt',swipers); swipers.$inject = ['$timeout']; ...

  4. 凸优化&非凸优化问题

    转载知乎大神的回答:Robin Shen   参考:https://www.zhihu.com/question/20343349

  5. java.net.BindException: 地址已在使用 (Bind failed)

    java.net.BindException: 地址已在使用,是因为端口被占用,出现在启动服务的时候 报错如截图 报错显示 10062端口被占用冲突 执行netstat -alnp | grep 10 ...

  6. 页面适应电脑和手机屏幕initial-scale 1:0 user-scalable=yes

    2017年09月25日 11:30:27 Goddess_liangyanli 阅读数:7324 标签: 手机   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  7. day40-socket编程

    一.socket介绍 看socket之前,先来回顾一下五层通讯流程: 但实际上从传输层开始以及以下,都是操作系统帮咱们完成的 Socket又称为套接字,它是应用层与TCP/IP协议族通信的中间软件抽象 ...

  8. AS2在FLASH中调用EXE文件方法详细说明 已测试可行

    熟悉FLASH功能的朋友都知道fscommand在FLASH中是一个经常用来控制窗口全屏或退出的命令,同时它也是FLASH调用外部可执行程序的一种方法,使用fscommand命令格式如下: fscom ...

  9. virtual 初探

    两种代码方式: class person { public: void f() { cout << "person.f()" << endl; } }; c ...

  10. 安装 nginx

    一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib ...