第十六讲:序列!序列!
一、知识点:
0.根据列表、元组、字符串的共同点把它们统称为序列。
A、都可以通过索引得到每一个元素;
B、默认索引值都是从零开始(支持负数索引);
C、都可以都过分片(切片)的方式得到新的字符串;
D、都有相同的操作符(重复操作符、拼接操作符、成员关系操作符)
1.与之相关的内置函数
备注:reversed()、enumerate()、zip()三个函数没有返回值,需要用list。
-------------------------------------------------------------------------------------------------------------------------
二、课后作业
0.我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?
序列
1.请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元祖和字符串?
list(),tuple(),str()
2.你还能复述出“迭代”的概念吗?
所谓迭代,是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
3.你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
得到v。v在ASCII码对照表中最大,详见:http://tool.oschina.net/commons?type=4http://tool.oschina.net/commons?type=4。
4、恢复下图被划掉的代码:
if name == each[0]:
else:
-------------------------------------------------------------------------------------------------------------------------
三、动动手:
0.猜想一下 min() 这个BIF的实现过程
def min(list):
a = list[0]
for each in list:
if each < a:
a =each
return a
1.
视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
def sum(list):
sum = 0
for each in list:
if (type(each) == int) or (type(each) == float):
sum += each
else:
continue
return sum
-------------------------------------------------------------------------------------------------------------------------