一、测试题
0. 我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?
1. 请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元祖和字符串?
2. 你还能复述出“迭代”的概念吗?
3. 你认为调用 max('I love FishC.com') 会返回什么值?为什么?
4. 哎呀呀,现在的小屁孩太调皮了,邻居家的孩子淘气,把小甲鱼刚写好的代码画了个图案,麻烦各位鱼油恢复下啊,另外这家伙画的是神马吗?怎么那么眼熟啊!?
(图片转载https://blog.csdn.net/junwei0206/article/details/44766631)
二、动动手
0. 猜想一下 min() 这个BIF的实现过程:
1. 视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果。
2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
三、我的答案
一、
0. 序列。列表、元组、字符串的统称。
1. list(iterable) tuple(iterable) str(object)
2. “迭代”即为了逼近所需目标的结果,而重复反馈过程的活动。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
3. “v”。按照字母的ASCII码的值最大来返回。
4. 从上至下,依次填写:
if name in each:
if name != each[0]:
二、
0. min()的实现过程是:定义第一个元素为最小,遍历min中的所有元素,每次和前一个比较,较小的值赋予min。
小甲鱼参考答案:
def min(x):
least = x[0]
for each in x:
if each < least:
least = each
return least
print(min('123456789'))
1. sum(iterable[,start=0]) 返回序列可选参数总和
程序如下:
def sumplus(x):
add = 0
for each in x:
if (isinstance(each, int)!=0) or (isinstance(each, float)!=0):
add = add+each
else:
add = add+0
return add
结果:
=========== RESTART: D:/Program Files/Py/xiaojiayu_016_sumplus.py ===========
>>> 抹布吸 = (8, 10, '科比', '23', 'jdks', 2)
>>> sumplus(抹布吸)
20
2. 课堂重点:
- 列表、元组、字符串的共同点:
1.都可通过索引
2.默认索引从0开始
3.可分片得到一个范围内的元素集合
4.有共同操作符(重复、拼接、成员) - 序列的内置函数用法1:
list的用法:
1. list() 空列表
2. list(iterable) 加入可迭代的对象
tuple的用法:
1. tuple() 空元组
2. tuple(iterable) 加入可迭代对象
str的用法:
1. str() 创建空字符
2. str(object) 加入对象 - 序列的内置函数用法2:
len()的用法:len(object) 返回对象长度
max()的用法 对象可以是列表、元组和字符串
min()找出列表中最小的那个数。说明:min和max中比较的元素必须是同一种类型的。
sum(iterable[,start=0]) 返回序列可选参数总和
sorted() 从小到大排序。注意和list的内置方法sort()形式上有区别! - 返回迭代器对象的内置函数用法3:(迭代器我个人姑且理解为序列)
BIF名称 | 描述 | 举例 |
reversed() | 翻转。翻转序列 list(reversed(list1))。注意和list的内置方法reverse()的形式上的区别。 | >>> a = '12345' >>>for each in reversed(a): print(each,end=',') 5,4,3,2,1, |
enumerate() | 枚举。将列表内的元素索引与该索引对应的元素一起组成一个个小元组 | >>> a = 'asdklfj' |
zip(a, b) | 打包。将列表a和列表b对应的元素成对打包成元组 | >>> str1 = 'oklbhu' |