索引与切片
1.索引与切片概述
2.索引
索引的作用:利用方括号运算符[i]获取相应位置/下标的单个字符
正向索引:i从0至n-1
反向索引:i从-1至-n
3.切片(考试必考)
切片:通过一个等差数列所对应的索引号从字符串中获取多个元素
起点/终点/步长均可以省略:
特殊用法1:获取全部元素
特殊用法2:混用正向索引和反向索引 (不推荐)
字符串的格式化
格式化的三种方法:• %(不推荐)• format()• f/F
提示1:每种格式化方法都分为基本用法和完整用法,只需掌握基本用法
提示2:使用%格式化字符串是一种老的方法,官方推荐用format()代替
提示3:f/F是Python3.6以后才出现的一种新方法
1.用%符号格式化字符串
格式字符 | 说明 |
%s | 字符串 (采用str()的显示) |
%r | 字符串 (采用repr()的显示) |
%c | 单个字符 |
%d | 十进制整数 |
%i | 十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数 |
%e | 指数 (基底写为e) |
%E | 指数 (基底写为E) |
%f、%F | 浮点数 |
%g | 指数(e)或浮点数 (根据显示长度) |
%G | 指数(E)或浮点数 (根据显示长度) |
%% | 一个字符"%" |
m.n:宽度,小数位数(默认右对齐,不够宽度时左边补空格)
-:左对齐(不够宽度时右边补空格)
0:不够宽度时补充0,而不补充空格(仅适用于右对齐)
+:显示数值的符号(正数显示+,负数显示-)
2.用format()方法格式化字符串
format()使用{} 代替之前的 %,官方推荐使用,基本用法如下:
type类型值 | 含义 |
s | 对字符串类型格式化 |
d | 十进制整数 |
c | 将十进制整数自动转换成对应的 Unicode 字符 |
e 或者 E | 转换成科学计数法后,再格式化输出 |
g 或 G | 自动在 e 和 f(或 E 和 F)中切换 |
b | 将十进制数自动转换成二进制表示,再格式化输出 |
o | 将十进制数自动转换成八进制表示,再格式化输出 |
x 或者 X | 将十进制数自动转换成十六进制表示,再格式化输出 |
f 或者 F | 转换为浮点数(默认小数点后保留 6 位),再格式化输出 |
% | 显示百分比(默认显示小数点后 6 位) |
其他形式:
形式1: " ……{a}……{b}…… " .format (a=value1,b=value2,……)
形式2: " ……{0}……{1}…… " .format (*元组/*列表)
形式3: " ……{a}……{b}…… " .format (**字典)
提示:形式2中不推荐用集合,因为集合是无序的、
3. 用f-string格式化字符串
f-string,亦称为格式化的字符串常量(formatted string literals),在形式上以 f 或 F 引领字符串,以大括号{}表示被替换的变量。
字符串的操作方法(函数)
1. find()与index()
1. rfind()与rindex()
字符串.rfind( 子串):查找一个子串在另一个字符串中最后一次出现的位置(索引号,从0开始编号) ,如果不存在则返回-1。
字符串.rindex(子串):用法与rfind()相同,区别在于当子串不存在时抛出异常。
2. count()
字符串.count(子串):返回一个子串在另一个字符串中出现的次数,如果不存在则返回0。
3.split()和rsplit()
字符串.split(sep=None, maxsplit=-1):利用指定的分隔符将字符串从左端进行切分,返回由切分之后的子串构成的列表。
字符串.rsplit(sep=None, maxsplit=-1):利用指定的分隔符将字符串从右端进行切分,返回由切分之后的子串构成的列表
sep参数指定分隔符,maxsplit参数指定最大分隔次数。如果未指定分隔符,则字符串中的任何空白符号(string.whitespace )都将被认为是分隔符;但当字符串中有连续的空格或其他空字符时,都会被视为一个分隔符对字符串进行分割。
4.join()
"分隔符".join(列表/元组):用来将列表/元组中多个字符串进行连接,并在相邻两个字符串之间插入指定分隔符,返回新字符串。
提示:join函数要求列表/元组中的元素必须全部为字符串类型