0. 我们根据列表、元组和字符串的共同特点,把它们三统称为什么?
序列
三者共同特点:
a.通过索引获取每一个元素
b.第一个元素索引值都为0
c.通过切片获得一个范围
d.有很多共同运算符
1. 请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元组和字符串?
list()、tuple()、str()
2. 你还能复述出“迭代”的概念吗?
迭代是通过重复执行的代码处理相似的数据集的过程,并且本次迭代的处理数据要依赖上一次的结果继续往下做,上一次产生的结果为下一次产生结果的初始状态,如果中途有任何停顿,都不能算是迭代。
3. 你认为调用 max('I love FishC.com') 会返回什么值?为什么?
会返回“v”,因为在这一串字母中,字母v的编码值最大。
(小写字母的编码值大于大写字母,a到z的编码值依次加大)
4. 哎呀呀,现在的小屁孩太调皮了,邻居家的孩子淘气,把小甲鱼刚写好的代码画了个图案,麻烦各位鱼油恢复下啊。
name=input("请输入待查找的用户名:")
score=[["迷途",85],["黑夜",80],["小布丁",65],["福禄娃娃",95],["怡静",90]]
for each in score:
if name == each[0]:
print(name+"的得分是:",each[1])
break
if name != each[0]:
print("查找的用户不存在!")
动动手:
0. 猜想一下 min() 这个BIF的实现过程
def min(x):
least = x[0]
for each in x:
if each < least:
least = each
return least
print(min([1,2,3]))
1. 视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
整理:
1.格式化字符串的方法
"{a}{b:.2f}".format(a="Pi = ",b=3.1415)
"{0}{1:.2f}".format("Pi = ", 3.1415)
a = "pi = "
b = 3.1415
f"{a}{b:.2f}"
a="Pi = "
b=3.1415
print("%s%.2f"%(a,b))
"%s %.2f"%("Pi = ",3.1415)
2.\n \r \r\n
在Windows中:
'\r' 回车,回到当前行的行首,而不会换到下一行,如果接着输出的话,本行以前的内容会被逐一覆盖;
'\n' 换行,换到当前位置的下一行,而不会回到行首;
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”,即"\r"。一个直接后果是,Mac系统下的文件在Windows里打开的话,所有文字会变成一行
3..partition() .split() .splitlines()
①partition()
用来根据指定的分隔符将字符串进行分割。
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。(包含分隔符)
②split()
通过指定分隔符对字符串进行切片,可规定分割次数x,则分隔产生 x+1 个子字符串。(不包含分隔符)
③splitlines()
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。(括号内默认为 False,不包含换行符,如果为 True,则保留换行符)