剩余匿名函数

序列

序列——列表和元组相关的:list和tuple

序列——字符串相关的:str,format,bytes,bytearry,memoryview,ord,chr,ascii,repr

format

#字符串可以提供的参数,指定对齐方式,<是左对齐, >是右对齐,^是居中对齐
print(format('test', '<20'))
print(format('test', '>20'))
print(format('test', '^20')) #整形数值可以提供的参数有 'b' 'c' 'd' 'o' 'x' 'X' 'n' None
>>> format(3,'b') #转换成二进制
''
>>> format(97,'c') #转换unicode成字符
'a'
>>> format(11,'d') #转换成10进制
''
>>> format(11,'o') #转换成8进制
''
>>> format(11,'x') #转换成16进制 小写字母表示
'b'
>>> format(11,'X') #转换成16进制 大写字母表示
'B'
>>> format(11,'n') #和d一样
''
>>> format(11) #默认和d一样
'' #浮点数可以提供的参数有 'e' 'E' 'f' 'F' 'g' 'G' 'n' '%' None
>>> format(314159267,'e') #科学计数法,默认保留6位小数
'3.141593e+08'
>>> format(314159267,'0.2e') #科学计数法,指定保留2位小数
'3.14e+08'
>>> format(314159267,'0.2E') #科学计数法,指定保留2位小数,采用大写E表示
'3.14E+08'
>>> format(314159267,'f') #小数点计数法,默认保留6位小数
'314159267.000000'
>>> format(3.14159267000,'f') #小数点计数法,默认保留6位小数
'3.141593'
>>> format(3.14159267000,'0.8f') #小数点计数法,指定保留8位小数
'3.14159267'
>>> format(3.14159267000,'0.10f') #小数点计数法,指定保留10位小数
'3.1415926700'
>>> format(3.14e+1000000,'F') #小数点计数法,无穷大转换成大小字母
'INF' #g的格式化比较特殊,假设p为格式中指定的保留小数位数,先尝试采用科学计数法格式化,得到幂指数exp,如果-4<=exp<p,则采用小数计数法,并保留p-1-exp位小数,否则按小数计数法计数,并按p-1保留小数位数
>>> format(0.00003141566,'.1g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点
'3e-05'
>>> format(0.00003141566,'.2g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留1位小数点
'3.1e-05'
>>> format(0.00003141566,'.3g') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留2位小数点
'3.14e-05'
>>> format(0.00003141566,'.3G') #p=1,exp=-5 ==》 -4<=exp<p不成立,按科学计数法计数,保留0位小数点,E使用大写
'3.14E-05'
>>> format(3.1415926777,'.1g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留0位小数点
''
>>> format(3.1415926777,'.2g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留1位小数点
'3.1'
>>> format(3.1415926777,'.3g') #p=1,exp=0 ==》 -4<=exp<p成立,按小数计数法计数,保留2位小数点
'3.14'
>>> format(0.00003141566,'.1n') #和g相同
'3e-05'
>>> format(0.00003141566,'.3n') #和g相同
'3.14e-05'
>>> format(0.00003141566) #和g相同
'3.141566e-05'

format

如果参数format_spec未提供,则和调用str(value)效果相同,转换成字符串格式化。

>>> format(3.1415936)
'3.1415936'
>>> str(3.1415926)
'3.1415926'

bytearray

bytearray()函数方法返回一个新字节数组(bytes类型)。这个数组里的元素是可变的,范围在0~256。

a = bytearray([1,2,3,5])
a1 = bytearray('中国',encoding='utf-8')#字符串要指定编码方式
a2 = bytearray('中国',encoding='gbk')#字符串要指定编码方式
print(a)
print(a1)
print(a2)

memoryview

memoryview() 函数返回给定参数的内存查看对象(Momory view)。

所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

>>>v = memoryview(bytearray("abcefg", 'utf-8'))
>>> print(v[1])
98
>>> print(v[-1])
103
>>> print(v[1:4])
<memory at 0x10f543a08>
>>> print(v[1:4].tobytes())
b'bce'
>>>

菜鸟教程实例

ret = memoryview(bytes('你好',encoding='utf-8'))
print(len(ret))
print(bytes(ret[:3]).decode('utf-8'))
print(bytes(ret[3:]).decode('utf-8'))

memoryview

reversed

reversed()函数返回一个反转的迭代器。

l = [1,2,3,8,4,3,9,2]
# l.__reversed__()#返回的是迭代器
l1 = reversed(l)
print(l1)
for i in l1:
print(i,end = ' ')

slice

slice()函数实现切片对象,主要用在切片操作函数里的参数传递。

l = [1,2,3,8,4,3,9,2]
s = slice(1,6,2)
print(l[s])

其他

chr

  chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ascii字符。可以是10进制也可以是16进制的形式的数字。

ord

  ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。

repr

  repr() 函数将对象转化为供解释器读取的形式。返回一个对象的 string 格式。

ascii

  ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。返回字符串。

print(ord('A'))
print(chr(66))#
print(repr(''))
print(repr(1))
print(ascii(1))
print(ascii('好'))

数据集合

数据集合——字典和集合:dict,set,frozenset

数据集合:len,sorted,enumerate,all,any,zip,filter,map

filter

filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用list()来转换。

该函数接收两个参数,第一个位函数,第二个位序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False,最后将返回True的元素放到新列表中。

从列表 [1,2,3,4,5,6,7,8]中删除偶数,保留奇数:

l = [1,2,3,4,5,6,7,8]
def check(x):
return x%2 == 0
ret = filter(check,l)#filter(函数名or None,iterable)
for i in ret:
print(i,end=' ')

删除None或者空字符串:

def c(x):
return x and str(x).strip()#str(x)
r1 = filter(c,[0,1,None,''," ",'',[]])
for i in r1:
print(i)

发现0也被删除了,因为0的返回值为False。

利用filter()过滤出1~100中平方根是整数的数:

import math
def cal(x):
return math.sqrt(x)%1 == 0#x的平方根除以1余0,说明为整数。
r = filter(cal,range(1,101))
for i in r:
print(i,end=' ')

map

map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

有一个list, L = [1,2,3,4,5,6,7,8],我们要将f(x)=x^2作用于这个list上,那么我们可以使用map函数处理:

l = [1,2,3,4,5,6,7,8]
def cal(x):
return x**2
li = map(cal,l)
for i in li:
print(i,end=' ')

sorted

sorted() 函数对所有可迭代的对象进行排序操作。

 sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
即sort修改原列表,sorted返回生成一个新的列表。

列表排序:

l1 = [1,3,5,-2,-4,-6]
l2 = sorted(l1)#排序,从小到大
l3 = sorted(l1,key=abs)#绝对值排序,从小到大
l4 = sorted(l1,key=abs,reverse=True)#绝对值排序,从大到小
print(l2)
print(l3)
print(l4)

l = [[1,2],[3,4,5,6],(7,),'']
print(sorted(l,key=len))

zip

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少的内存。

我们可以使用 list() 转换来输出列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

l = [1,2,3]
l1 = ['a','b','c']
l2 = ['a','b',1]
d = {'k1':1,'k2':2,'k3':3,'k4':4}#字典基本都是操作key,而且无序。
print(zip(l,l1,l2,d))
for i in zip(l,l1,l2,d):
# print(i)#元组
print(list(i))#转换为列表

all

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

元素除了是 0、空、FALSE 外都算 TRUE。

如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;

注意:空元组、空列表返回值为True,这里要特别注意。

print(all([1,2,3]))
print(all((1,2,3)))
print(all([1,2,3,0]))
print(all([]))
print(all(()))
print(all([1,[]]))

all

any

any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

元素除了是 0、空、FALSE 外都算 TRUE。如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true。

print(any((0,1,None)))
print(any(['',[],0]))

pass

python学习日记(内置函数补充)的更多相关文章

  1. Python之路----内置函数补充与匿名函数

    内置函数补充:reversed()保留原列表,返回一个反向的迭代器 l = [1,2,3,4,5] l.reverse() print(l) l = [1,2,3,4,5] l2 = reversed ...

  2. python学习交流 - 内置函数使用方法和应用举例

    内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...

  3. python学习-34 内置函数的补充

    其他内置函数 1.ord()    与chr()相反 2.pow() print(pow(3,3)) # 相当于3**3 print(pow(3,3,2)) # 相当于3*3%2 运行结果: 27 1 ...

  4. python学习之--内置函数:

    Python内置函数: Python内置了很多有用的函数,我们可以直接调用.要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数. 1. 内置函数调用之--abs()函数: ...

  5. python学习总结----内置函数及数据持久化

    抽象基类(了解) - 说明: - 抽象基类就是为了统一接口而存在的 - 它不能进行实例化 - 继承自抽象类的子类必须实现抽象基类的抽象方法 - 示例: from abc import ABC, abs ...

  6. Python学习之==>内置函数、列表生成式、三元表达式

    一.内置函数 所谓内置函数就是Python自带的函数 print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4])) #判断可迭代的对 ...

  7. Python学习(5)——内置函数

    常用字符串内置函数 1)str.count() //返回该字符串中某个子串出现的次数 2)str.find() //返回某个子串出现在该字符串的起始位置 3)str.lower() //将该字符串全部 ...

  8. python学习-31 内置函数

    内置函数 1.abs()  绝对值 2.all()    判断列表里的所有值的布尔值(如果迭代列表里的每个值后都是True 则返回True) '])) 运行结果: True Process finis ...

  9. python学习之- 内置函数

    内置方法:1:abs():取绝对值2:all():当可迭代对象里所有均为真时结果为真. all([1,2,3])3:any():当可迭代对象里任意一个数据为真结果即为真.any([0,1,2])4:a ...

  10. python学习(内置函数)

    1.id()返回对象的内存地址 a = 1 print id(a) print id(1) 2.int()用于将数据类型转换为整型 a = " b = 2 print int(a) + b ...

随机推荐

  1. Mac上webstorm与git仓库建立连接

    1.打开Mac终端,输入$ cd ~/.ssh检查.ssh文件是否存在($在终端中存在,不需要自己输入),不存在,进行步骤2 2.如果没有安装ssh文件,输入命令$ssh -v,安装ssh文件,成功时 ...

  2. Ehcache入门经典:第二篇ehcache.xml的参数

    继续第一篇 diskStorepath:指定在硬盘上存储对象的路径path属性可以配置的目录有: user.home(用户的家目录) user.dir(用户当前的工作目录) java.io.tmpdi ...

  3. js实现横向跑马灯效果

    首先我们需要一个html代码的框架如下: <div style="position: absolute; top: 0px; left: 168px; width: 100%; mar ...

  4. 【原】Java学习笔记025 - 内部类

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 内部类(嵌套类): ...

  5. Linux学习历程——Centos 7 uptime 、free命令

    一.命令介绍 uptime命令 uptime命令用于查看系统负载信息以及系统运行时间等. free命令 free命令用于查看当前系统中内存使用量信息. 二.实例 uptime命令实例 直接运行 upt ...

  6. OLW (Open Live Writer)安装代码高亮插件方法(简明)

    1.首先下载OLW代码高亮插件,请点击--->OLW代码高亮插件 2.在你安装OLW的目录下(顺便说一下默认的安装目录为C:\Users\你的用户名\AppData\Local\OpenLive ...

  7. 新建swap分区的规划、挂载和自动挂载示例

    注:来自Linux系统管理_磁盘分区和格式化的扩展 Linux系统管理_磁盘分区和格式化:http://murongqingqqq.blog.51cto.com/2902694/1361918 思路: ...

  8. Benchmarking Apache Kafka: 2 Million Writes Per Second (On Three Cheap Machines)

    I wrote a blog post about how LinkedIn uses Apache Kafka as a central publish-subscribe log for inte ...

  9. jquery中数组对象下面的属性名名是动态的如何获取

    <script> let normalListData = []; function temp() { for (var i = 0; i < 10; i++) { let rowC ...

  10. linux性能监控命令(vmstat、sar、iostat、netstat)

    1.常用系统命令Vmstat.sar.iostat.netstat.free.ps.top等 2.常用组合方式• 用vmstat.sar.iostat检测是否是CPU瓶颈• 用free.vmstat检 ...