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解释器所自动生成的内置的函数,就好比我们之前所学的作用空间 内 ...
随机推荐
- 阿里云服务器搭建详解——Ubuntu
由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器.听朋友说,学生买的话是非常便宜的,比每月开个SVIP还便宜.今天上网看了下,果然如此,每月只要9.9,确实 ...
- python基础1--基本数据类型+流程控制
一.基本数据类型 1.整型 int 就是整数 2.浮点型 float 就是小数 3.字符串 3.1.加了单引号.双引号.多引号的字符就认为是字符串 单引号和双引号没有什么区别,多引号用 ...
- ci框架与smarty的整合
ci框架与smarty的整合 来源:未知 时间:2014-10-20 11:38 阅读数:108 作者:xbdadmin [导读] Ci 和 smarty 的完美结合 Ci 结合 sma ...
- PAT-输入输出
测试样例输入方式 while...EOF型(题目没有给定输入的结束条件) while(~scanf("%s",s)) {} //等价于while(scanf("%s&qu ...
- PAT A1001-A1004
题集通道:https://pintia.cn/problem-sets/994805342720868352/problems/type/7 A1001 : A+B Format (20 point ...
- Linux--Centos安装VNC
参考:https://linux.cn/article-5335-1.html 安装 vnc 服务器 yum install tigervnc-server -y 配置 vnc .service 更改 ...
- Linux-socket编程接口介绍
1.建立连接 (1).socket.socket函数类似于open,用来打开一个网络连接,如果打开成功则返回一个网络文件描述符(int类型),之后我们操作这个网络连接都可以通过这个网络文件描述符. ( ...
- Python笔记_第四篇_高阶编程_高阶函数_1.map和reduce
1. map()函数: 原型:map(fn,lsd) 参数1是函数 参数2是序列 功能:将传入的函数一次作用在序列中的每一个元素.并把结果作为一个新的Iterator返回.其实map函数就是一个for ...
- keil5最新破解教程(可以使用到2032年哦!):
keil5最新破解教程(可以使用到2032年哦!): 首先附上破解软件下载链接:https://github.com/lzfyh2017/keil5- 相信不少小伙伴使用的keil5都快要到期了,那么 ...
- java中abstract怎么使用
abstract(抽象)修饰符,可以修饰类和方法 1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半 ...