{% note info %}
本篇非教程篇,是根据笔者自己的学习情况整理出来的小笔记,仅供读者阅读参考哦~
{% endnote %}
处理字符串
字符串的格式化
运算与索引提取
进制与编码
函数名/操作 | 功能 | 实例 |
bin(x)或hex(x)或oct(x) | 2、16、8进制转换(int to str) | hex(1234) ==> 'ox4d2' |
chr(u) | 返回u(Unicode)对应的字符 | chr(176) ==> '°' |
ord() | 返回字符对应的Unicode | chr(‘°’) ==> 176 |
str.encode('编码') | 编码 | |
str.decode('编码') | 解码 | |
与大小写有关
函数名/操作 | 功能 | 实例 |
str.upper() | 全部大写 | 'ada lovelace'.upper() ==> 'ADA LOVELACE' |
str.lower() | 全部小写 | 'ADa loveLAce'.lower() ==> 'ada Lovelace' |
str.title() | 首字母大写 | 'ada lovelace'.title() ==> 'Ada Lovelace' |
str.capitalize() | 第一个字符转换为大写 | 'how are u'.capitalize() ==> 'How are u' |
str.swapcase() | 大小写字母转换 | 'LaTex'.swapcase() ==> 'lAtEX' |
拆分合并
函数名/操作 | 功能 | 实例 |
str.join(iter) | 在iter每个元素之间添加字符 | ‘=’.join('123') ==> '1=2=3' |
str.strip(chars) | 删除左右chars字符 | '= python='.strip('= np') ==> 'ytho' |
str.rstrip() | 删除右边空白 | ' Hello World '.rstrip() ==> ' Hello World' |
str.lstrip() | 删除左边空白 | ' Hello World '.lstrip() ==> 'Hello World ' |
str.strip() | 删除左右空白 | ' Hello World '.strip() ==> 'Hello World' |
str.split(sep) | 按照sep进行分割为列表 | ‘I love u’.split() ==> ['I','love','u'] |
.center(width[,fillchar]) | 居中并填充 | ‘python’.center(10,'=') ==> '==python==' |
查找、替换字符串内容
函数名/操作 | 功能 | 实例 |
str.find('xx'[,start,end]) | 查找字符串 | ‘an apple’.find('a') ==> 0 |
str.rfind() | (从右查找) | 'an apple'.rfind('a') ==> 3 |
str.lfind() | (从左查找) | 略 |
str.index() | (找不到报错) | 略 |
str.rindex() | 略 | 略 |
str.lindex() | 略 | 略 |
str.replace(old , new) | 替换字符串 | 'an apple'.replace('a','e') ==> 'en epple' |
与判断相关
函数名/操作 | 功能 | 实例 |
str.startswith('str1') | 判断str是否以str1开头 | 'filename.doc'.startswith('File') ==> False |
str.endswith('str2') | 判断str是否以str2结尾 | 'filename.doc'.endswith('txt') ==> False |
str.isalpha() | 判断是否是字母 | 'abcd6'.isalpha() ==> False |
str.isdigit() | 判断是否是数字 | '2342'.isdigit() ==> True |
str.istitle() | 判断是否为标题式字符串 | 'Title Good'.istitle() ==> True |
str.isupper() | 判断是否都为大写 | 'ABCD'.isupper() ==> True |
len(字符、列表、元组等) | 返回对象长度 | len(['23','awf','3fs','sdfsf']) ==> 4 |
str.count(sub) | 统计字符串sub次数 | ‘an apple a day’.count('a') ==> 4 |
处理列表
添加元素
函数名 | 说明 |
.append('string') | 将元素 ‘string’ 添加到末尾 |
.insert(0 , 'string') | 将元素 ‘string’ 添加到索引为 0 的地方 |
.extend(建议放含多个元素的列表) | 类似于列表的合并【可以用'+'直接合并列表】 |
删除元素
函数名 | 说明 |
del list1[1] | 知道元素位置时 |
.pop([1]) | 提取一号位的元素,不传入参数时默认最后一个元素 |
.remove('string') | 已知元素的值 'string' 时 |
.clear() | 清除所有元素 |
组织列表
函数名 | 说明 |
.sort([reverse = True]) | 永久性从小到大排序(传入参数从大到小) |
sorted([reverse = True]) | 临时性从小到大排序(传入参数从大到小) |
.reverse() | 永久性反转列表元素 |
enumerate(sequence[,start=0]) | 将可遍历的对象组合为一个索引序列,多用于for循环当中 |
zip() | 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象 |
zip(*) | 与 zip 相反,zip(*) 可理解为解压,返回元组类型 |
统计相关
函数名 | 说明 |
.count(x) | 统计列表中x元素的个数 |
组合数据类型的处理
集合类型
- 集合的特点:无序不重复
- 集合的操作:
并:S|T
orS.union(T)
,差:S-T
orS.difference(T)
,交:S&T
orS.intersection(T)
,补:S^T
,判断子集:<=或<
,判断包含:>=或>
- 增强操作符:
s|=T
等。
声明集合
操作集合之增
方法 | 描述 |
s.add(x) | 添加一个元素x |
s.update() | 添加多个元素 |
操作集合之删
方法 | 描述 |
s.remove() | 移除x,若不存在,报错(KeyError) |
s.pop() | 随机取出一个元素(一般为第一个),若S为空产生KeyError异常 |
s.clear | 清楚所有元素 |
s.discard(x) | 类似remove() 移除x,若不存在,不报错 |
操作集合之改
处理集合的方法
方法 | 描述 |
S.discard(x) | 移除x,若不存在,不报错 |
S.clear() | |
S.copy() | 返回一个副本 |
len(S) | 返回元素个数 |
x (not)in S | 判断x是否为S的一个元素 |
序列类型
- 序列类型可分成:字符串类型,元组类型,列表类型
- 序列可理解为可储存任何类型数据的列表,故大部分方法可适用于此(判断是否存在,连接,复制,索引,切片等)
补充方法
方法 | 描述 |
.index(x[,i,j]) | 返回从位置i到位置j第一次出现x的位置 |
s.count(x) | 返回s序列中出现x的总次数 |
元组类型
- 定义:可使用();也可以不使用,用逗号分开,或tuple()
- 创建后就不可以修改
内置方法tuple.count(x)
和tuple.index(x)
自行学习
可迭代类型的拆包与装包
当出现以下情况会报错:
如下处理即可:
*
的使用涉及到拆包与装包
给可迭代类型前加上星号(*
)可代表将其拆分
将分散的值赋值给*变量
可将其装包赋值给变量
字典类型
定义:{}或dict()创建:{<键1>:<值1> , <键2>:<值2> , ... , <键n>:<值n>}
增加与更改元素
字典的查找判断
方法 | 描述 |
d.items() | 将字典转为列表包含元组的形式 |
d.keys() | 查找字典的键,可以用for in 遍历 |
d.values() | 查找字典的值,可以用for in 遍历 |
d.get(k[,default]) | 返回字典中键k对应的值(找不到返回default) |
字典中的删除
方法 | 描述 |
del dict1[key] | 删除键为key的一对键值 |
d.pop(key[,default]) | 根据key删除键值对,返回值(若无)为键的值(默认值) |
d.popitem() | 随机删键值对(一般是从末尾删),以元组类型返回被删除的键值对 |
clear() | 同列表中的clear(),清空 |
字典中的其他内置函数
方法 | 描述 |
len(d) | 返回字典中元素的个数 |
d1.update(d2) | 将d2更新到d1中(合并:重key则以d2为准) |
dict.fromkeys(seq[,value]) | 创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。 |
类型转换
str
--> int
,list
,set
,tuple
,float
; 所有类型
--> str
; list
--> set
,tuple
,字典:[(key,value),(key,value),...]
; tuple
,set
,dict
--> list
;(字典转列表仅保存key)
其他函数
函数名 | 功能 | 实例 |
eval('string') | 去掉最外侧引号 | eval(‘1 + 3’) ==> 4 |
isinstance(变量,类型) | 判断变量是否为某类型 | |
操作数字
函数名 | 功能 | 实例 |
round(x , d) | 对x四舍五入保留d位小数 | round(0.1+0.2,1) == 0.3 |
divmod(x , y) | 实现求商与余数 | divmod(10,3) == (3,1) |
pow(x,y[,z]) | ( x ** y ) % z | pow(3,pow(3,99),10000) == 4587 |
其他杂项
引入和调用库
条件结构
异常处理
循环的拓展