列表&元组&字符串
Task04:列表7.28)
理论部分
1. 掌握列表的定义与创建
2. 熟练添加、删除和获取列表中的元素
3. 了解列表的常用操作符及其他方法
练习部分
1. 列表操作练习
2. 课后思考题
3. leetcode练习题
简单数据类型:int、float、bool
容器数据类型:list、dict、tuple、set、str
1、定义列表
有序集合 |
没有大小 |
能够保存任意数量、任意类型的Python对象 |
[元素1,……,元素n] |
2、创建列表
创建普通列表 |
x = [1,2,3] |
用range()创建 |
x = list(rang(1,11,2)) *起始值,包含;终止值,不包含;步长 |
用推导式创建 |
x = [i for i in range(5)] x = [0 for i in range(5)] |
创建多维列表 |
看括号最外层,做外层有几层括号就为几维列表 |
创建混合列表 |
|
创建空列表 |
x = [] |
3、向列表添加元素
list.append(obj) |
在列表末尾追加新元素 |
括号内只有一个元素 |
参数可为任意类型 |
||
参数保留原来的数据类型 |
||
list.extend(seq) |
在列表末尾,一次性追加另一个序列的所有值 |
用新的列表扩展另一个列表 |
相当于“+” |
||
list.insert(index,obj) |
在index位置前插入obj |
|
4、删除列表元素
list.remove(obj) |
删除列表中第一次出现的obj |
指定元素 |
list.pop([index=-1]) |
删除列表中的某个元素,默认最后一个,返回删除对象 |
指定位置 |
删除后使用元素 |
||
del var[,var2,……] |
删除列表中一个或多个元素 |
del x[0:2] 删除0,1元素 |
删除后不使用元素 |
5、获取列表中的元素
索引 |
获取单个元素 |
从前往后,自0始 |
从后往前,自-1始 |
||
切片 start:stop:step |
“start:” |
从start开始,到尾部 |
":stop" |
从0开始,到stop为止,不包括stop |
|
"start:stop" |
从start开始,到stop为止,不包括stop |
|
step = -1相当于反向排列列表 |
||
":" |
复制列表 |
- 列表的复制
list2 = list1 list1变则list2变
list3 = list1[:] list1为一维,list1变list3不变;list1为二维,list1变list3变 (why)
6、列表常用操作符
== |
|
+ |
连接 |
* |
重复 |
in\not in |
成员关系操作符 |
7、列表的其他方法
list.reverse() |
列表反向排列,相当于list[::-1] |
list.index(x[,start[,end]]) |
找出列表中第一个与x匹配元素的索引 |
list.count(obj) |
统计列表中obj的个数 |
list.sort(key=None,reverse=False) |
排序 |
key为比较对象 |
|
reverse=False升序;reverse=True降序 |
练习题
Task05:元组(7.28)
理论部分
1. 掌握元组定义,熟悉创建和访问元组
2. 熟悉更新和删除元组
3. 了解元组相关的操作符和内置方法,以及解压元组
练习部分
1. 课后思考题
2. 知识扩展
1、元组定义
定义 |
(元素1,……,元素n) (元素1,) |
创建 |
与列表同,但元素创建之后不能修改 |
创建二维元组: t1 = (1,2,3),(1,2,3) |
|
获取元组元素 |
切片 & 索引 |
2、更新和删除元素
- 添加
- 更改
3、相关操作符
比较操作符 |
逻辑操作符 |
连接操作符 |
重复操作符 |
成员关系操作符 |
4、内置方法
tuple.index(x[,start[,end]]) |
找出列表中第一个与x匹配元素的索引 |
tuple.count(obj) |
统计列表中obj的个数 |
5、解压元组
一维 |
元组有几个元素,左边就几个变量 |
二维 |
按照元组结构定义左边变量 |
只获取某些元素 |
在意数值:*rest |
不在意数值:*— |
- 二维这样也OK
Task06:字符串(7.28)
理论部分
1. 掌握字符串的定义
2. 熟悉字符串的切片和拼接
3. 掌握字符串的常用内置方法和格式化
练习部分
1. 字符串操作练习
2. 实现isdigit函数
3. leetcode练习题
1、定义
定义 |
引号之间的字符集合,引号可为单引号,可为双引号 |
|
三引号允许多行字符串,可包含换行符、制表符以及其它特殊字符 |
||
转义字符 |
\\ |
反斜杠符号 |
\' |
单引号 |
|
\" |
双引号 |
|
\n |
换行 |
|
\t |
横向制表符 |
|
\r |
回车 |
|
原始字符 |
引号前加r |
2、切片与拼接
- 字符串定义后不可修改
- 索引从0开始
- 字符串的切片与list同
3、内置方法
capitallize() |
将字符串的第一个字符转换为大写 |
lower() |
所有大写转小写 |
upper() |
所有小写转大写 |
swapcase() |
大写转小写,小写转大写 |
count(str,beg=0,end=len(string)) |
返回str在string中出现的次数,beg,end用于指定范围 |
endswith(suffix,beg=0,end=len(string)) |
string以suffix结束,返回T,否则F,beg,end用于指定范围 |
stratswith(substr,beg=0,end=len(string)) |
string以substr开始,返回T,否则F,beg,end用于指定范围 |
stratswith(substr,beg=0,end=len(string)) |
|
find(str,beg=0,end=len(string)) |
检查str是否包含在string中,包含返回索引,不包含返回-1 |
rfind(str,beg=0,end=len(string)) |
与find()类似,只是从右边开始检查 |
isnumeric() |
字符串只包含数字返回T,否则F |
ljust(width[,fillchanr])width |
返回原字符串左对齐,用fillchar(默认空格)填充至长度width |
rjust(width[,fillchanr])width |
返回原字符串右对齐,用fillchar(默认空格)填充至长度width |
lstrip([char]) |
删除字符串左边的空格或指定字符 |
rstrip([char]) |
删除字符串右边/尾部的空格或指定字符 |
strip([char]) |
同时删除左边和右边的空格或指定字符 |
partition(sub) |
返回(per_sub,sub,fol_sub);没有sub返回原字符串 |
rpartition(sub) |
与partition()类似,只是从右边开始查找 |
replace(old,new[,max]) |
将字符串中的old换成new,替换次数最多不超过max |
split(str="",num) |
默认以空格为分隔符切片字符串(空格会被去掉),分割num个字符 |
splitlines([keepends]) |
按照行(\r,\r\n,\n)分隔,返回一个包含各行作为元素的列表,keepends为T保留换行符 |
maketrans(inttab,outtab) |
创建字符映射转换表(ASCII),inttab需转换字符,outtab目标字符 |
translate(table,deletechars="") |
table为给出的转换表,deletecahrs为要删除的字符 |
4、字符串格式化
format格式化 |
str = "{0} Love {1}".format('I', 'Lsgogroup') # 位置参数 print(str) # I Love Lsgogroup |
|
str = "{a} Love {b}".format(a='I', b='Lsgogroup') # 关键字参数 print(str) # I Love Lsgogroup |
||
str = "{0} Love {b}".format('I', b='Lsgogroup') # 位置参数要在关键字参数之前 print(str) # I Love Lsgogroup |
||
str = '{0:.2f}{1}'.format(27.658, 'GB') # 保留小数点后两位 print(str) # 27.66GB |
||
格式化符号 |
%c |
格式化字符及其ASCII码 |
%s |
格式化字符串,用str()方法处理对象 |
|
%r |
格式化字符串,用rper()方法处理对象 |
|
%d |
格式化整数 |
|
%o |
格式化无符号八进制数 |
|
%x |
格式化无符号十六进制数 |
|
%X |
格式化无符号十六进制数(大写) |
|
%f |
格式化浮点数字,可指定小数点后的精度 |
|
%e |
用科学计数法格式化浮点数 |
|
%E |
作用同%e,用科学计数法格式化浮点数 |
|
%g |
根据值的大小决定使用%f或%e |
|
%G |
作用同%g,根据值的大小决定使用%f或%E |
|
辅助指令 |
m.n |
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
- |
用做左对齐 |
|
+ |
在正数前面显示加号( + ) |
|
# |
在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
|
0 |
显示的数字前面填充'0'而不是默认的空格 |
练习题
本文地址:https://blog.csdn.net/qq_41895768/article/details/107646902
上一篇: HashMap源码与相关面试题
下一篇: java 文件续写