零基础入门学习Python(15)-序列

列表、元组、字符串的共同点

  • 都可以通过索引得到每一个元素
  • 默认索引值总是从0开始
  • 可以通过分片的方法得到一个范围内的元素集合
  • 有很多共同的操作符:重复操作符、拼接操作符、成员关系操作符
    所以把列表、元组和字符串三者统称为序列

序列常见的BIF

1. list([iterable]):用于把一个可迭代对象转换为列表

在这里插入图片描述
在这里插入图片描述

  • list()方法用于把一个可迭代对象转换为列表
    什么是迭代呢???
    所谓迭代,就是重复反馈过程的活动,其目的通常是为了接近并达到所需的目标或结果,每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。。。。。就目前来说,迭代就是一个for 循环,今后会介绍迭代器
  • list()方法要么不带参数,要么带一个迭代器作为一个参数,而序列天生就是可迭代的对象
    在这里插入图片描述在这里插入图片描述
自己动手实现list()方法
sequence = input("请输入一个序列:")
sequence = str(sequence)
a = list()
for i in sequence:
    a.append(i)
print(a)

在这里插入图片描述

2. tuple([iterable]):把一个可迭代对象转换为元组

在这里插入图片描述

3. str(obj):把obj对象转换为字符串

4.len(sbu):返回sub参数的长度

在这里插入图片描述

5. max():返回序列或者参数集合中的最大值

在这里插入图片描述

6.min():返回序列或者参数集合中的最小值

在这里插入图片描述

attention使用max()方法和min()方法都要保证序列或参数的数据类型统一,否则会出错
在这里插入图片描述

max(tuple1)的实现方式
tuple1 = input("请输入一个元组:")
tuple1 = tuple(tuple1)
max1 = tuple1[0]
for i in tuple1:
    if i > max1:
        max1 = i
print(max1)

在这里插入图片描述

7. sum(iterable,[start]):返回iterable和可选参数start的总和

  • 可选参数start,如果设置该参数,表示从该值开始加起,默认值是0
    在这里插入图片描述
    attention:不是数据类型不能实现sum操作
    在这里插入图片描述

8. sorted(iterable, key = None, reverse = False):返回一个排序的列表,默认从小到大排

  • 使用方法同list().sort()
    在这里插入图片描述
  • 列表的内置方法sort()是实现列表原地排序,而sorted()是返回一个排序后的新列表

9. reversed(sequence):返回逆向迭代序列的值

  • 使用方法同list().reverse()
  • 列表的内置方法reverse()是实现列表原地翻转,而reversed()是返回一个排序后的迭代器对象
    在这里插入图片描述

10. enumerate(iterable):生成由二元组(二元组就是元素数量为2的元组)构成的一个迭代对象,每个二元组由可迭代参数的索引号及其对应的元素组成

在这里插入图片描述
在这里插入图片描述

zip(iter1[,iter2[…]]):返回由各个迭代参数共同组成的元组

在这里插入图片描述
在这里插入图片描述

Task

0. 我们根据列表、元组和字符串的共同特点,把它们三统称为什么?
序列

1. 请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元组和字符串?
list()
tuple()
str()

2. 你还能复述出“迭代”的概念吗?
迭代就是重复反馈过程的活动,其目的通常是为了接近并达到所需的目标或结果

3. 你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
‘v’,因为v的ASCALL码最大
4. 哎呀呀,现在的小屁孩太调皮了,邻居家的孩子淘气,把小甲鱼刚写好的代码画了个图案,麻烦各位鱼油恢复下代码~~
IsFind:是一个标志flag,预设值为False,当找到名字后,改为True,最后判断是否为False
在这里插入图片描述

在这里插入图片描述
我的代码:

name = input("请输入待查找的用户名:")
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
IsFind = False
for each in score:
    if name == each[0]:
        print(name + '的得分是:', each[1])
        IsFind = True
        break
if IsFind == False:
    print('查找的数据不存在')

小甲鱼代码:


name = input('请输入待查找的用户名:')
score = [['迷途', 85], ['黑夜', 80], ['小布丁', 65], ['福禄娃娃', 95], ['怡静', 90]]
IsFind = False

for each in score:
    if name in each:
        print(name + '的得分是:', each[1])
        IsFind = True
        break
    
if IsFind == False:
    print('查找的数据不存在!')


5. 猜想一下 min() 这个BIF的实现过程

tuple1 = input("请输入一个元组:")
tuple1 = tuple(tuple1)
min1 = tuple1[0]
for i in tuple1:
    if i <  min1:
        min1 = i
print(min1)

在这里插入图片描述
小甲鱼

def min(x):#定义函数
    least = x[0]

    for each in x:
        if each < least:
            least = each

    return least

print(min('123456789'))

6. 视频中我们说 sum() 这个BIF有个缺陷,就是如果参数里有字符串类型的话就会报错,请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
小甲鱼代码

def sum(x):
    result = 0
    
    for each in x:
        if (type(each) == int) or (type(each) == float):
            result += each
        else:
            continue

    return result

print(sum([1, 2.1, 2.3, 'a', '1', True]))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值