day08-内置函数和匿名函数
1. 1)网络编程只能是二进制。2)照片和视频也是以二进制储存。 3)html网页爬取到的也是二进制编码。 2. 非常重要的4个内置函数:zip ,filter,map,sorted
1)zip:
例子1:
l1 = [1,2,3]
l2 = ['a','b','c']
for i in zip(l1,l2): # zip(l1,l2) 是迭代器。拉链方法。
print(i)
#(1,'a')
#(2,'b') 例子2:把下面表格打印出来。
# name age salary
# tom 18 10000
# marry 20 30000
# alex 35 1000000
例子2.1
name = ('tom','marry','alex')
age = (18,20,35)
salary = (10000,30000,1000000)
for a,b,c in zip(name,age,salary):
print(a,b,c)
#tom 18 10000
#marry 20 30000
#alex 35 1000000
例子2.2
dic1 = {'name':'tom','age':18,'salary':10000}
dic2 = {'name':'marry','age':20,'salary':30000}
dic3 = {'name':'alex','age':35,'salary':1000000}
lis = [dic1,dic2,dic3]
for i in lis:
print('{0},{1},{2}'.format(i['name'],i['age'],i['salary']))
例子2.3
dic1 = dict(name = 'tom',age = 18,salary = 10000)
dic2 = dict(name = 'marry',age = 20, salary = 30000)
dic3 = dict(name = 'alex',age = 35,salary = 1000000)
lis = [dic1,dic2,dic3]
for i in lis:
print(i['name'],i['age'],i['salary']) 2) filter: 筛选。ret = filter(被调用的函数,实参),filter调用函数,把实参传入函数执行代码,筛选出可以让表达式为True的实参,ret接收实参。
例子1:把奇数筛选出来。
def func(x):
return x % 2 == 1 #当表达式为True,ret才接收筛选过的实参。
ret = filter(func,[1,2,3]) # ret 是迭代器。filter调用函数func,把实参[1,2,3]循环传入函数func。
for i in ret:
print(i)
例子2:把字符串筛选出来。
def is_str(s):
if type(s) == str:
return True # 还可以这样写: return type(s) == str
ret = filter(is_str,[1,'hello',4,36,'python'])
for i in ret:
print(i)
例子3:筛选列表中不是空白的元素(空字符串,空列表,空格,None等等),然后把它们存放在新列表中。注意:' '空格这个字符串为True。
def is_not_empty(s):
return s and str(s).strip() #当s and str(s).strip()为True时,ret才接收实参。因为当s是整数1,2,5,6,是int,没有strip属性,所以使用str(s)把int
ret = filter(is_not_empty,[1,2,'as','',[],' ',5,6,None]) #强转为str。
l = []
for i in ret:
l.append(i)
print(l) 3) map:
ret = map(abs,[-1,20,90,-18]) # map调用abs绝对值函数,把实参传入到abs函数里面取绝对值,然后ret接收。ret是迭代器。
for i in ret:
print(i) filter:ret接收实参<=总个数,但不会改变实参的值。map:ret接收实参等于总个数,但可能改变实参的值。 4) sorted:
例子1:
l = [-1,20,2,-10]
l.sort(key=abs) #按绝对值的大小从小到大排序,不产生新的对象。
print(l)
例子2:
l = [-1,20,2,-10]
l.sort()
print(l) #从小到大排序,不产生新的对象。
print(sorted(l)) #产生新的对象。可以使用print(id(l))和print(id(sorted(l)))查询是否产生新对象。以上两种方法的执行结果都是[-10, -1, 2, 20]。
例子3:
print(sorted(l,reverse=True)) #reverse=True把sorted(l)排序反转。
print(sorted(l,key=abs,reverse=True)) #按绝对值排序,接着反转。
例子4:
l = ['a','asdfasdf','asdf','aa',' ']
ret = sorted(l)
print(ret) # 执行结果:[' ', 'a', 'aa', 'asdf', 'asdfasdf']
例子5:
l = ['a','asdfasdf','asdf','aa',' ']
ret = sorted(l,key=len) # 按字符长度进行排序
print(ret) # 执行结果:['a', 'aa', 'asdf', ' ', 'asdfasdf'] a = list(range(100)[0:3]) #range(100)切片取前面三个元素,然后强转为list。
for i in a :
print(i) 2.匿名函数:
1)参数可以有多个,使用逗号隔开;只写一行;返回值可以是任何数据类型。
lamb = lambda x,y : x+y # x+y是返回值
print(lamb(1,2)) 2)匿名函数面试题:
A = lambda x : x*2
B = lambda x : x*4
x = 2
x = A(x) # x = 4
x = B(x) # x = 16
x = A(x) # x = 32
print(x) #执行结果是32
day08-内置函数和匿名函数的更多相关文章
- 学习Pytbon第十天 函数2 内置方法和匿名函数
print( all([1,-5,3]) )#如果可迭代对象里所有元素都为真则返回真.0不为真print( any([1,2]) )#如果数据里面任意一个数据为真返回则为真a= ascii([1,2, ...
- python——内置函数和匿名函数
内置函数 接下来,我们就一起来看看python里的内置函数.截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.这 ...
- python(day16)内置函数,匿名函数
# add = lambda x,y:x+y # print(add(1,2)) # dic={'k1':10,'k2':100,'k3':30} # def func(key): # return ...
- python之路——内置函数和匿名函数
阅读目录 楔子 内置函数 匿名函数 本章小结 楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们 ...
- Go语言 - 函数 | 作用域 | 匿名函数 | 闭包 | 内置函数
函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 介绍 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数可以赋值给变量 函数 ...
- python 内置函数和匿名函数
内置函数 截止到python版本3.6.2,现在python一共为我们提供了68个内置函数. Built-in Functions abs() dict() help() min() ...
- 生成器的send方法、递推函数、匿名函数及常用内置函数
生成器的send方法 在使用yield方法创建生成器时,不仅可以使用next方法进行取值,还可以通过send方法向生成器的内部传值 什么是send方法? send方法相当于高级的next方法,send ...
- Python_内置函数和匿名函数
楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...
- python 07篇 内置函数和匿名函数
一.内置函数 # 下面这些要掌握 # len type id print input open # round min max filter map zip exec eval print(all([ ...
- python之内置函数,匿名函数
什么是内置函数? 就是Python给你提供的,拿来直接用的函数,比如print,input等等.其实就是我们在创建.py的时候python解释器所自动生成的内置的函数,就好比我们之前所学的作用空间 内 ...
随机推荐
- 提升Python编程效率的几种方法
前言 我们知道Python这门语言在运行速度上已经败给了许多别的语言(比如C, C++, Java, Golang....).但从一个开发者的角度来看Python是我最喜欢的语言,很大一部分原因在于其 ...
- POJ - 3660 Cow Contest(flod)
题意:有N头牛,M个关系,每个关系A B表示编号为A的牛比编号为B的牛强,问若想将N头牛按能力排名,有多少头牛的名次是确定的. 分析: 1.a[u][v]=1表示牛u比牛v强,flod扫一遍,可以将所 ...
- 洛谷 P2341 [HAOI2006]受欢迎的牛|【模板】强连通分量
题目传送门 解题思路: 先求强联通分量,缩点,然后统计新图中有几个点出度为0,如果大于1个,则说明这不是一个连通图,答案即为0.否则入度为0的那个强连通分量的点数即为答案 AC代码: #include ...
- virtualbox 共享文件夹 操作过程
1.在本地主机上找到 VBoxGuestAdditions.iso,我的位置就在E:\Oracle\VirtualBox\VBoxGuestAdditions.iso 2 复制到虚拟机中,我用的是 x ...
- dp高难本攻略
903. DI 序列的有效排列 public int numPermsDISequence(String S) { int n=S.length(); int [][]dp=new int [n+1] ...
- shell中sparksql语句调试、执行方式
1.命令方式执行sparksql查询 SQL="use mydatatable;;select count(1) from tab_videousr_onlne where p_regiio ...
- 客户主题分析(tableau)—客户留存
客户留存分析(客户漏斗分析),关键在于找到影响客户留存的因素,设计场景测试,验证关键因素.即可以通过关键因素影响留存,从而重塑客户漏斗到更有价值的形状. 案例:母婴产品客户留存分析 数据结构: 1) ...
- Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)
Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)
- 操作uwsgi命令
uwsgi -i 你的目录/uwsgi.ini & 后台开启uwsgi pkill -f uwsgi 重启uwsgi
- spring中的Filter使用
https://blog.csdn.net/bibiwannbe/article/details/81302920