列表可以存放不同类型的数,还可以创建空列表
末尾添加一个元素
但是只能一次插入一个数据
末尾添加多个元素,但要求已列表的格式添加[x,x,x,x]
用一个列表来扩展另一个列表,所以他的参数是一个列表,不能直接像append那样来用
insert(1,‘kk’):在a的位置后面插入kk,相当于从0开始数,在1的位置放入kk
不一样
假设给定以下列表:member = ['小甲鱼', '黑夜', '迷途', '怡静', '秋舞斜阳']
要求将列表修改为:member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
del + 列表名,可以把整个列表删掉
slice:一次性需要获取多个元素
member[1:3]:1是开始位置,3是结束位置,但结果不包含3
源列表不发生任何改变
2.如果你每次想从列表的末尾取出一个元素,并将这个元素插入到列表的最前边,你会怎么做?
4.在进行分片的时候,我们知道分片的开始和结束位置需要进行指定,但其实还有另外一个隐藏的设置:步长。
5
list2与list3的不同之处在于,list2是复制的list1,但是list3是把list3这个标签贴在了list1上
list可以用+来拼接,但是不能拼接一个新元素
in 只能判断一个层次里面的成员关系,如果list里面又有list就无法判断里面的list的成员,in只影响一层的函数
但是可以双重访问
list3中,123出现了15次
会返回参数第一次出现在列表中的位置
将整个列表原地翻转
用指定的顺序对列表成员进行排序,默认是从小到大进行排
想要倒序排序: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]
访问元组和访问列表的形式是一样的
但是元组是不可以被修改的
只要有逗号,就是默认创建一个元组
拼接操作符 +
重复操作符 * 乘以8的那个
关系操作符 > <
成员操作符 in、not in
列表:是一个大仓库,可以随时往里面添加和删除任何东西
需要频繁修改数据时,使用列表
元组:封闭的列表,一旦定义,就不可以改变(增删改)
当内容不希望轻易被改动的时候,使用元组
有列表推导式,但是将[] 改为() 时没有元组推导式
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中所有的字符之间。 >>> str5 = 'Fishc' >>> str5.join('12345') '1Fishc2Fishc3Fishc4Fishc5'
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' >>> str7.replace('e','E',2) '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个子字符串,返回切片后的子字符串拼接的列表。 >>> str7.split () ['i', 'love', 'fishdm', 'and', 'seven']
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' >>> str8.translate(str.maketrans('s','b')) 'aaabbb bbbaaa'
upper()
转换字符串中的所有小写字符为大写。
zfill(width)
返回长度为width的字符串,原字符串右对齐,前边用0填充。
单引号、双引号:
三引号:
未知参数:0,1,2 是未知参数
关键字参数:a,b,c
未知参数和关键字参数混合使用,但是未知数参数必须在关键字参数之前
\类型:
{}类型:{{ }}两个括号把括号给转义了
符号
说明
%c
格式化字符及其 ASCII 码
%s
格式化字符串
%d
格式化整数
%o
格式化无符号八进制数
%x
格式化无符号十六进制数
%X
格式化无符号十六进制数(大写)
%f
格式化浮点数字,可指定小数点后的精度
%e
用科学计数法格式化浮点数
%E
作用同 %e,用科学计数法格式化浮点数
%g
根据值的大小决定使用 %f 或 %e
%G
作用同 %g,根据值的大小决定使用 %f 或者 %E
符号
说明
m.n
m 是显示的最小总宽度,n 是小数点后的位数
-
用于左对齐
+
在正数前面显示加号(+)
#
在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X'
0
显示的数字前面填充 '0' 取代空格
符号
说明
\'
单引号
\"
双引号
\a
发出系统响铃声
\b
退格符
\n
换行符
\t
横向制表符(TAB)
\v
纵向制表符
\r
回车符
\f
换页符
\o
八进制数代表的字符
\x
十六进制数代表的字符
\0
表示一个空字符
\\
反斜杠
4.如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
>>> '{0}{1:.2f}'.format('Pi = ', 3.1415)
其中{1:.2f} 中的1代表第1个位置(从0开始数)的数要保留两位小数
{a:.bf}中的a,代表位置
列表、元组、字符串共同点:
都可以通过索引得到每一个元素;
默认索引从0开始;
可以分片;
都有很多共同的操作符;
tuple([iterable]):iterable = 迭代,把一个可迭代对象转换为元组
迭代:重复相同的操作,每一次迭代操作的结果是下一次的初始值
把obj对象转换成字符串
返回参数sub的长度
返回序列或者参数集合中的最大值、最小值
使用max和min的时候要求本身的字符是统一的,比如全部是字符或全部是整数
sum(iterable[, start =0 ]):返回序列iterable和可选参数start的总和,[ ]里面是可选参数
如果不是整数或者浮点数类型,是字符串类型,就不能求和
返回一个排序,默认从小到大,与list.sort() 使用方法一样
与list.reverse()使用方法一样
将list[ ],变成了元组,并且每个元组都有序号 0 1 2 3 …
一对一对应打包,多余的直接省去
视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
猜想一下 min() 这个BIF的实现过程