内容回顾:

1.列表推导式

[变量(加工后的变量) for 变量 in iterable] 循环模式

[变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式

生成器表达式

(变量(加工后的变量) for 变量 in iterable) 循环模式

(变量(加工后的变量) for 变量 in iterable if 条件) 筛选条件

obj = (i for i in [1,2,3]) (1,2,3)
obj.__next__()
for i in obj:
  pass
list(obj)

2.内置函数

python提供的常用方法,方便开发使用.

**dir: 将对象所有的方法名放置在一个列表中,并返回.

print(dir(str)

print(dir('abc')

***range: 函数可创建一个整数对象,一般用在for循环中.

**next: 内部实际使用了__next__方法, 返回迭代器的下一个项目.

**iter: 函数用来生成迭代器(讲一个可迭代对象,生成迭代器)

基础数据类型相关

数字相关

数据类型:

**bool: 用于将给定参数转换为布尔类型,如果没有参数,返回False.

print(bool(''))

**int: 函数用于将一个字符串或数字转换为整形.

print(int('111'))

print(int(12.73)) # 浮点型 转化成整数(取整)

print(int('12.73') #报错

print(int('0100',base=2)) # 将2进制的0100转化成十进制. 结果为4

**float: 函数用于将整数和字符串转换成浮点数.

print(1.22,type(1.22))

*complex: 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数.

如果第一个参数为字符串,则不需要指定第二个参数.

print(complex(1,2))

*bin: 将十进制转换成二进制并返回.

print(bin(3)) # 0b11

*oct: 将十进制转化成八进制字符串并返回.

print(oct(9)) # 0o11

print(oct(10)) # 0o11

*hex: 将十进制转化成十六进制字符串并返回.

print(hex(10)) # 0xa

print(hex(15)) # 0xf

print(hex(17)) # 0x11

数学运算:

abs: 函数返回数字的绝对值.

print(abs(-5)) # 5

**divmod: 计算除数与被除数的结果,返回一个包含商和余数的元组(a//b,a%b).

print(divmod(7,3))

print(divmod(103,8))

*round: 保留浮点数的小数位数,默认保留整数.

print(round(2.3287654)) #默认保留整数

print(round(2.3287654,2)) # 保留两位小数,若最后一位小数是0,则不保留

*pow: 求x**y次幂. (三个参数为x**y的结果对z取余)

print(pow(3,3)) # pow(x,y) x**y

print(pow(3,3,5)) # pow(x,y) x**y

***sum: 对可迭代对象进行求和计算(可设置初始值).

l1 = [1,2,3,55,77]

print(sum(11))

print(sum(11,100)) # 设置初始值

***min: 返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值).

l1 = [1,2,3,55,77]

l2 = [-1,-2,3,55,-77]

print(min(l1))

print(min(l2,key=abs))

***max: 返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值).

print(max(l1))

print(max(l2,key=abs))

dic = {'a':3,'b':2,'c':1}

def func(x): return dic[x]

print(min(dic,key=func))

print(max(dic,key=func))

**list: 将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素).

l1 = [1,2,3]

l2 = list([1,2,3]) #创建列表

l3 = list((1,2,3))

print(l3)

**tuple: 将一个可迭代对象转化成元组(如果是字典,默认将key作为元组的元素).

相关内置函数

***reversed: 将一个序列翻转,并返回此翻转序列的迭代器.

l1 = [22,33,55,11]

print(reversed(l1))

for i in reversed(l1):

  print(i)

**slice: 构造一个切片对象, 用于列表的切片.

l1 = [1,2,3,55,77]

l2 = [-1,-2,3,55,-77,88]

print(l1[1:4])

print(l2[1:4])

rule = slice(1,6,2)

print(l1[rule])

print(l2[rule])

format: 与具体数据相关, 用于计算各种小数, 精算等.

print(format('test','<20'))

print(format('test','>20'))

print(format('test','^20'))

bytes: 用于不同编码之间的转化. 将unicode ---> bytes

unicode ---> utf-8

s1 = 'alex'

b1 = s1.encode('utf-8')

print(b1)/

print(b1)

s2 = b1.decode('utf-8')

print(s2)

s1 = '中国'

b1 = s1.encode('utf-8')

b2 = b1.decode('utf-8').encode('gbk')

print(b2)

*bytearray: 返回一个新字节数组. 这个数组里的元素是可变的, 并且每个元素的值范围: 0 <= x <256.

ret = bytearray('alex',encoding='utf-8')

print(id(ret))

print(ret)

print(ret[0])

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

print(repr('中国'))

print(repr('{"name":"alex"}'))

s1 = '我是%s人' % ('中国')

s2 = '我是%r人' % ('中国')

print(s1)

print(s2)

数据集合

dict: 创建一个字典.

set: 创建一个集合.

frozenset: 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素.

相关内置函数:

*** len: 返回一个对象中元素的个数.

*** sorted: 对所有可迭代的对象进行排序操作.

l1 = [1, 4, 5, 77, 2, 3,]
print(sorted(l1))
L = [('a', 4), ('c', 3), ('d', 1),('b', 2), ]
def func2(x):
return x[1]
l2 = sorted(L,key=func2)
print(l2)

*** enumerate: 枚举,返回一个枚举对象.

**all: 可迭代对象中, 全都是True才是True

**any: 可迭代对象中, 有一个True

l1 = ['asv', 1, True]
print(all(l1))
l2 = [True,"", 0, ()]
print(any(l2))

zip : 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组, 然后返回由这些元组组成的迭代器.

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

l1 = [1, 2, 3,]
l2 = ['a','b','c',5]
l3 = ('*','**',(1,2,3), 2, 4)
print(zip(l1,l2,l3)) 可以视为:[(1, 'a', '*'),(2, 'b', '**'),(3, 'c', (1, 2, 3))]
for i in zip(l1,l2,l3):
print(i)

*** filter: 过滤.

def func(x):
return x % 2 == 0
ret = filter(func,[1,2,3,4,5,6,7])
print(ret)
for i in ret:
print(i)
print((i for i in [1,2,3,4,5,6,7] if i % 2 == 0))

***map: 会根据提供的函数对指定序列做映射.

l1 = [1,2,3,4,5]
def func(x):
return x*x
ret = map(func,l1)
print(ret)
for i in ret:
print(i)

匿名函数: 一句话函数, 一行表示

def func1(x,y): return x+y
func = lambda x,y : x+y
print(func1(1,2))
print(func(1,2))
lis = [[1517991992.94, 100], [1517992000.94, 200], [1517992014.94, 300], [1517992744.94, 350], [1517992800.94, 280]]
# def func1(x): return x[1]
# func1 = lambda x:x[1]
print(max(lis,key=lambda x:x[1])) dic={'k1':10,'k2':100,'k3':30} print(dic[max(dic,key=lambda x: dic[x])])

Python内置函数和匿名函数的更多相关文章

  1. Python内置的字符串处理函数整理

    Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...

  2. python内置常用高阶函数(列出了5个常用的)

    原文使用的是python2,现修改为python3,全部都实际输出过,可以运行. 引用自:http://www.cnblogs.com/duyaya/p/8562898.html https://bl ...

  3. Python 内置的一些高效率函数用法

    1.  filter(function,sequence) 将sequence中的每个元素,依次传进function函数(可以自定义,返回的结果是True或者False)筛选,返回符合条件的元素,重组 ...

  4. 学习Pytbon第十天 函数2 内置方法和匿名函数

    print( all([1,-5,3]) )#如果可迭代对象里所有元素都为真则返回真.0不为真print( any([1,2]) )#如果数据里面任意一个数据为真返回则为真a= ascii([1,2, ...

  5. Python内置进制转换函数(实现16进制和ASCII转换)

    在进行wireshark抓包时你会发现底端窗口报文内容左边是十六进制数字,右边是每两个十六进制转换的ASCII字符,这里使用Python代码实现一个十六进制和ASCII的转换方法. hex() 转换一 ...

  6. Python内置的字符串处理函数

    生成字符串变量 str='python String function'   字符串长度获取:len(str) 例:print '%s length=%d' % (str,len(str)) 连接字符 ...

  7. Py修行路 python基础 (十三)匿名函数 与 内置函数

    一.匿名函数  1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是 ...

  8. Python内置函数系列

    Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义. 作用域相关(2) locals()  :以字典类型返回当前位置 ...

  9. Python内置高阶函数map()

    map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于lis ...

  10. Python中的高阶函数与匿名函数

    Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...

随机推荐

  1. Python3 pymsyql 连接读取数据

    import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='t ...

  2. OpenCV编译 Make出错 recipe for target 'modules/imgproc/CMakeFiles/opencv_test_imgproc.dir/all' failed

    OpenCV编译  Make出错 recipe for target 'modules/imgproc/CMakeFiles/opencv_test_imgproc.dir/all' failed 添 ...

  3. Python 中的for,if-else和while语句

    for 循环 功能 for 循环是一种迭代循环机制,迭代即重复相同的逻辑操作,每次的操作都是基于上一次的结果而进行的.并且for循环可以遍历任何序列的项目,如一个列表或者一个字符串 语法 for 循环 ...

  4. dedecms 标签

    article文章页标签 文档工具:http://tools.dedecms.com/dedetag_maker/article.html {dede:field.title/} 文章标题 {dede ...

  5. 光学字符识别OCR-2

    灰度聚类 接着我们就对图像的色彩进行聚类.聚类的有两个事实依据:         1.灰度分辨率   肉眼的灰度分辨率大概为40,因此对于像素值254和255,在我们肉眼看来都 只是白色:       ...

  6. HTML5之中国象棋,附带源码!

    好久没写随笔了,好怀恋2013年的日子,因为现在不能回到过去了! 再见了 感谢你为我做的一切! 进入正题:HTML5之中国象棋 很小就会下象棋了,  这是象棋的测试地址:点击我吧   然后点击里面的象 ...

  7. 《Python全栈开发指南》第3版 Alex著(LFXC2018)

    第一章 Python基础——Python介绍&循环语句 1.1 编程语言介绍 1.2 Python介绍 1.3 Python安装 1.4 第一个Python程序 1.5 变量 1.6 程序交互 ...

  8. Coursera无法观看课程解决方案

    Coursera无法观看课程解决方案 最近Cousera一直表现不佳,课程视频无法观看.小编结合网上找到的信息,操作一番便解决了问题,视频也可以正常观看了. 首先是win+s找到记事本,并用管理员身份 ...

  9. [整理]配置SSH密钥自动登录远程服务器

    原理: 公钥私钥匹配通过验证,允许访问服务器. 简单步骤: 1.在本地创建一对密钥 2.将公钥传到需要访问的服务器上 3.将公钥放入服务器的authorized_keys,确保访问时能通过验证 4.本 ...

  10. hibernate缓存详解

    hibernate中提供了两级缓存,一级缓存是Session级别的缓存,它属于事务范围的缓存,该级缓存由hibernate管理,应用程序无需干预:二级缓存是SessionFactory级别的缓存,该级 ...