小甲鱼python零基础016序列!序列!

一、测试题

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'
>>> reversed(a)
<reversed object at 0x000001C862167A20>

>>>for each in reversed(a):

            print(each,end=',')

    5,4,3,2,1,

enumerate()枚举。将列表内的元素索引该索引对应的元素一起组成一个个小元组

>>> a = 'asdklfj'
>>> enumerate(a)
<enumerate object at 0x000001C862175BD0>
>>> for each in enumerate(a):
    print(each)
(0, 'a')
(1, 's')
(2, 'd')
(3, 'k')
(4, 'l')
(5, 'f')
(6, 'j')

zip(a, b) 打包。将列表a和列表b对应的元素成对打包成元组

>>> str1 = 'oklbhu'
>>> list1 = ['k', '2', 9, [2, '4']]
>>> zip(str1,list1)
<zip object at 0x000001C862141A48>
>>> for each in zip(str1,list1):
    print(each)
('o', 'k')
('k', '2')
('l', 9)
('b', [2, '4'])


四、参考答案:https://www.jianshu.com/p/030b98ee6a5c

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值