笔记:python基础之内置函数2
[].reverse():反转
reverse([]):反转的迭代器,能保留原序列
l = [1,2,3,4,5]
l.reverse()
print(l)
l = [1,2,3,4,5]
l2 = reversed(l)
print(l2)
# 保留原列表,返回一个反向的迭代器
#输出:
[5, 4, 3, 2, 1]
<list_reverseiterator object at 0x0000000004F8F518>
slice(,):切片规则
l = (1,2,23,213,5612,342,43)
sli = slice(1,5,2)
print(l[sli])
print(l[1:5:2])
#输出:
(2, 213)
(2, 213)
format():可进行进制转换,调整格式
print(format('test', '<20'))
print(format('test', '>40'))
print(format('test', '^40'))
#输出:
test testtest
bytes(str,encoding=’’).decode(’’):转换编码方式;
我拿到的是gbk编码的,我想转成utf-8编码
print(bytes('你好',encoding='GBK')) # unicode转换成GBK的bytesprint(bytes('你好',encoding='utf-8')) # unicode转换成utf-8的bytes#输出:b'\xc4\xe3\xba\xc3'
b'\xe4\xbd\xa0\xe5\xa5\xbd'
网络编程 只能传二进制
照片和视频也是以二进制存储
html网页爬取到的也是编码
b_array = bytearray('你好',encoding='utf-8')#在修改字符串时,可节省空间
print(b_array)print(b_array[0])
'\xe4\xbd\xa0\xe5\xa5\xbd'
s1 = 'alexa'
s2 = 'alexb'
b=memoryview('\xe4\xbd\xa0\xe5\xa5\xbd',encoding='utf-8')#输出:bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd')
228
切片 —— 字节类型 不占内存
字节 —— 字符串 占内存
l = 'ahfjskjlyhtgeoahwkvnadlnv'
l2 = l[:10]
编码相关的函数
print(ord('好'))#查看字符的编码
print(ord('1'))
print(chr(97))
#输出:
22909
49
a
print(ascii('好'))#如果是ascii的字符就会原封不动打印,如果不是就会打印‘\u……’
print(ascii('1'))
#输出:
'\u597d'
'1'
\r或者repr:保留字符串的单引号
name = 'egg'
print('你好%r'%name)
#输出:
你好'egg'print(repr('1'))
print(repr(1))
#输出:
'1'
1
可迭代的函数:all/any
all→如列表中有任何的空,都返回False
any→有一个True,就返回True
print(all(['a','',123]))
print(all(['a',123]))
print(all([0,123]))
#输出:
False
True
Falseprint(any(['',True,0,[]]))
输出:True
拉链函数:zip→返回一个迭代器
l = [1,2,3,4,5]
l2 = ['a','b','c','d']
l3 = ('*','**',[1,2])
d = {'k1':1,'k2':2}
for i in zip(l,l2,l3,d):#zip(可为任何数据类型,任意长度)print(i)
#输出:
(1, 'a', '*', 'k1')
(2, 'b', '**', 'k2')
可迭代函数:filter/map
filter(func,[])→把[]中每个元素传进func,返回True的值(可用于删除None/空字符串)。执行了filter之后的结果集合<=执行之前的个数,filter只管筛选,不会改变原来的值;
map(func,[])→map执行前后元素个数不变,值可能发生改变。
def is_odd(x):return(x%2==1)
#相当于[]中的每个元素都传进函数里进行判断,相当于[i for i in [1,3,5,6,7,8] if i%2==1]
for i in filter(is_odd,[1,3,5,6,7,8]):print(i)
#输出:
1
3
5
7from math import sqrt
def find(x):re=sqrt(x)return(re%1==0)
#开平方为整数的数,如果是整数,会返回float类型,如4.0,4.0%1=0,1.2%1=0.2
for i in filter(find,list(range(100))):#filter执行之后元素个数发生变化,但不会改变原来的值print(i)#输出:
0
1
4
9
16
25
36
49
64
81
def find_num(x):re=sqrt(x)if re%1==0:return(x)else:pass
for i in map(find_num,list(range(5))):#map执行前后元素个数不变,值可能发生改变print(i)
#输出:0
1
None
None
4
排序:sorted/[].sort(key=)
sorted→在列表较小时用,因其会产生新的列表,对愿列表无影响,但占内存
lst.sort(key=)→改变原列表,在原列表的基础上进行排序
l = [1,-4,6,5,-10]
l.sort(key = abs) # 在原列表的基础上进行排序
print(l)→输出:[1, -4, 5, 6, -10]print(sorted(l,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存
print(l)
#输出:
[-10, 6, 5, -4, 1]
[1, -4, 5, 6, -10]l = [' ',[1,2],'hello world']
new_l = sorted(l,key=len)
print(new_l)
#输出:
[[1, 2], ' ', 'hello world']
应用:客户输入一个页码,就输出该页所有的内容,每个页面5行内容
with open('F:/老男孩/分页读取数据.txt') as f:line_lst=f.readlines()#print(line_lst)
page_num=int(input('请输入页码:'))pages,mod=divmod(len(line_lst),5)
if mod==0:pages=pages
else:pages=pages+1#总页码数index_lst=list(range(0,len(line_lst),5))#分页的内容index
if page_num<pages:print(line_lst[index_lst[page_num-1]:index_lst[page_num]])
elif page_num==pages:print(line_lst[index_lst[page_num-1]:])
else:print('输入页码有误,或者超出了页码范围!')
笔记:python基础之内置函数2相关推荐
- python中递归函数的基例_详谈Python基础之内置函数和递归 Python递归和循环的区别...
Python 递归函数基例 2. 关于递归函数基例的说明,以下选项中错误的是 A 递归函数的基例决定所谓基例就是不需要递归就能求解的,一般来说是问题的最小规模下的解. 例如:斐波那契数列递归,f(n) ...
- Python基础之内置函数
一.内置函数 内置函数是python里自带可直接使用的函数,到python3.6共提供里68个内置函数 内置函数分6大板块: 基础数据类型:38 作用域相关:2 迭代器生成器:3 其他:12 反射:2 ...
- python基础之内置函数解析之二
书接上文: 茱莉亚罗伯茨镇楼!!!! divmod(a, b) 它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数.对于混合操作数类型, 适用双目算术运算符的规则.对于整数,结果和 ( ...
- python什么元素为真_如何使用Python基础内置函数
如何使用Python基础内置函数 发布时间:2020-08-05 13:46:59
- python函数递归法求一个数各位数之和_Python基础之内置函数和递归
一.内置函数 下面简单介绍几个: 1.abs() 求绝对值 2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回 True 3.any() 如果 iterable 的 ...
- Day13 python基础---内置函数1
一,内置函数: 1.什么是内置函数 就是python给你提供的,拿来直接用的函数,比如print,input等等,截止到python版本3.6.2,现在pyhton一共为我们提供了69个内置函数. 2 ...
- Python基础—内置函数、匿名函数、递归函数
文章目录 一.内置函数 1 作用域相关 2 其他 Ⅰ 字符串类型代码的执行: Ⅱ 输入输出相关: Ⅲ 数据类型相关: Ⅳ 内存相关: Ⅴ 文件操作相关 Ⅵ 模块操作相关 Ⅶ 帮助方法 Ⅷ 调用相关 Ⅸ ...
- python学习之内置函数(二)
4.7.3 内置函数(2) int() str() bool() set() list():将一个可迭代对象转化为列表 tuple():将一个可迭代对象转换成元组 dic(): 通过相应的方式创建字典 ...
- python基础之内置成员和魔法函数(16)
内置成员 dict:获取类/对象的所属成员组成的集合 * 自己编写类文档 doc:获取类的文档信息 * class Human(): ''' 这是一个人类的类 他有着..的方法 可以制造出什么样的对象 ...
最新文章
- Netty整合SpringMVC,实现高效的HTTP服务请求
- 张三入职遭遇,供入台资企业参考
- 由于找不到openni2_Kinect开发教程八:OpenNI2显示深度、彩色及融合图像
- TQ210——下载总结
- el-autocomplete判空校验时,第一次点击不通过,再次点击才正常
- jdk的selector(1)
- 跨平台的报表生成器控件Stimulsoft Reports.Fx for Flex
- 【Android Developers Training】 8. 定义Action Bar风格
- [转]如何写好学术论文
- BM模式匹配算法原理(图解)
- Atitit 提升可读性sql subquery udf 子查询 目录 1. 使用udf 和参数@简化join和subquery	1 1.1.1. 子查询分类	1 2. 2.1 按返回结果集分类
- android imagebutton 点击效果缩小,ImageButton和ZoomButton使用
- word2007删除某一页的页眉横线
- 世界再大,大不过一盘番茄炒蛋
- php作为客户端websocket,使用PHP客户端连接到websocket
- 巧用二重积分的积分中值定理
- 基于S52单片机的温度测量与报警装置
- dede栏目添加自定义字段方法
- gps网络对时Linux,gps网络时间对时服务器的功能简介
- 完美国际真数苹果_预告| 绿萌再创苹果、桃、梨品质分选风向标!