小甲鱼python听课笔记p11-p15
p11 7.1 列表1 = 打了激素的数组
列表可以存放不同类型的数,还可以创建空列表
append():向列表里面添加数据
末尾添加一个元素
但是只能一次插入一个数据
extend():扩张的方式来扩展列表
末尾添加多个元素,但要求已列表的格式添加[x,x,x,x]
用一个列表来扩展另一个列表,所以他的参数是一个列表,不能直接像append那样来用
insert():两个参数,插入
insert(1,‘kk’):在a的位置后面插入kk,相当于从0开始数,在1的位置放入kk
课后习题:
不一样
假设给定以下列表:member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为:member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
p12 列表2
index:从列表中获取元素,下标都是从0开始
从列表删除元素
remove()
del()
del + 列表名,可以把整个列表删掉
pop():从列表中取出最后一个元素并返回给你
列表分片slice
slice:一次性需要获取多个元素
member[1:3]:1是开始位置,3是结束位置,但结果不包含3
源列表不发生任何改变
课后习题:
2.如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?
4.在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。
5
list2与list3的不同之处在于,list2是复制的list1,但是list3是把list3这个标签贴在了list1上
p13 列表3
比较操作符
拼接操作符
list可以用+来拼接,但是不能拼接一个新元素
重复操作符
成员公式操作符
in 只能判断一个层次里面的成员关系,如果list里面又有list就无法判断里面的list的成员,in只影响一层的函数
但是可以双重访问
count
list3中,123出现了15次
index
会返回参数第一次出现在列表中的位置
reverse
将整个列表原地翻转
sort
用指定的顺序对列表成员进行排序,默认是从小到大进行排
想要倒序排序:sort(revers = True)
拷贝操作符
见p12的课后习题最后一个图
课后习题:
1、请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
列表推导式 列表解析
[i*i for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
可以用来动态的创建列表,语法如:[有关A的表达式 for A in B]
问题:请先在 IDLE 中获得下边列表的结果,并按照上方例子把列表推导式还原出来
list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
p14 元组tuple – 戴上了枷锁的列表
元组的访问
访问元组和访问列表的形式是一样的
但是元组是不可以被修改的
元组的数据类型
只要有逗号,就是默认创建一个元组
插入
元组可以使用的操作符
拼接操作符 +
重复操作符 * 乘以8的那个
关系操作符 > <
成员操作符 in、not in
课后习题:
元组和列表的区别:
列表:是一个大仓库,可以随时往里面添加和删除任何东西
需要频繁修改数据时,使用列表
元组:封闭的列表,一旦定义,就不可以改变(增删改)
当内容不希望轻易被改动的时候,使用元组
有列表推导式,但是将[] 改为() 时没有元组推导式
p15 字符串
字符串的方法及注释
capitalize() |
把字符串的第一个字符改为大写 |
casefold() |
把整个字符串的所有字符改为小写 |
center(width) |
将字符串居中,并使用空格填充至长度width的新字符串 |
count(sub[,start[,end]]) |
返回sub在字符串里边出现的次数,start和end参数表示范围,可选。 |
encode(encoding='utf-8', errors='strict') |
以encoding指定的编码格式对字符串进行编码。 |
endswith(sub[,start[,end]]) |
检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选。 |
expandtabs([tabsize=8]) |
把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8。 |
find(sub[,start[,end]]) |
检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选。 |
index(sub[,start[,end]]) |
跟find方法一样,不过如果sub不在string中会产生一个异常。 |
isalnum() |
如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。 |
isalpha() |
如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。 |
isdecimal() |
如果字符串只包含十进制数字则返回True,否则返回False。 |
isdigit() |
如果字符串只包含数字则返回True,否则返回False。 |
islower() |
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False。 |
isnumeric() |
如果字符串中只包含数字字符,则返回True,否则返回False。 |
isspace() |
如果字符串中只包含空格,则返回True,否则返回False。 |
istitle() |
如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False。 |
isupper() |
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False。 |
join(sub) |
以字符串作为分隔符,插入到sub中所有的字符之间。 |
ljust(width) |
返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串。 |
lower() |
转换字符串中所有大写字符为小写。 |
lstrip() |
去掉字符串左边的所有空格 |
partition(sub) |
找到子字符串sub,把字符串分成一个3元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回(‘原字符串’, ’’, ’’) |
replace(old,new[,count]) |
把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次。>>> str7 = 'i love fishdm and seven' |
rfind(sub[,start[,end]]) |
类似于find()方法,不过是从右边开始查找。 |
rindex(sub[,start[,end]]) |
类似于index()方法,不过是从右边开始。 |
rjust(width) |
返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串。 |
rpartition(sub) |
类似于partition()方法,不过是从右边开始查找。 |
rstrip() |
删除字符串末尾的空格。 |
split(sep=None, maxsplit=-1) |
不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表。 |
splitlines(([keepends])) |
按照‘\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行。 |
startswith(prefix[,start[,end]]) |
检查字符串是否以prefix开头,是则返回True,否则返回False。start和end参数可以指定范围检查,可选。 |
strip([chars]) |
删除字符串前边和后边所有的空格,chars参数可以定制删除的字符,可选。 |
swapcase() |
翻转字符串中的大小写。 |
title() |
返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。 |
translate(table) |
根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符。>>> str8 = 'aaasss sssaaa' |
upper() |
转换字符串中的所有小写字符为大写。 |
zfill(width) |
返回长度为width的字符串,原字符串右对齐,前边用0填充。 |