Python的序列

1、根据列表、元组、字符串的共同特点,把它们三个统称为什么?
统称为序列,它们有这些共同点:
1)都可以由索引得到每一个元素
2)默认索引值总是从0开始(Python/ target=_blank class=infotextkey>Python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
 
2、分别使用什么BIF,可以把一个可迭代对象转换为列表、元组、字符串?
list([iterable])把可迭代对象转换为列表 。

Python的序列

文章插图
 
list作为一个方法有两个形态,一个形态是有参数,一个形态是没有参数的 。
Python的序列

文章插图
 

Python的序列

文章插图
 
tuple的使用方式和list是一样的 。
tuple([iterable])把可迭代对象转换为元组 。
Python的序列

文章插图
 

Python的序列

文章插图
 
str(obj)把对象转换为字符串 。
Python的序列

文章插图
 
len()是返回参数的长度 。
Python的序列

文章插图
 

Python的序列

文章插图
 
max()方法返回参数、序列、集合中的最大值 。
Python的序列

文章插图
 

Python的序列

文章插图
 
min()返回序列、参数中的最小值 。
Python的序列

文章插图
 

Python的序列

文章插图
 
使用min()或者是max()方法要保证序列或者参数的数据类型是统一的,可以是全部都是字符、全部都是整数等 。
Python的序列

文章插图
 
max方法的实现原理如下:
Python的序列

文章插图
 
sum(iterable,[start=0]),start参数是可选的,iterable参数是必备的,返回序列iterable的总和 。sum()这个BIF有个缺陷,如果参数里有字符串类型就会报错 。
Python的序列

文章插图
 

Python的序列

文章插图
 
从小到大排序,用sorted()实现 。
Python的序列

文章插图
 
reversed返回迭代器对象,用list方式转换为列表 。
Python的序列

文章插图
 
enumerate生成由每个元素组成的元组 。
Python的序列

文章插图
 
zip返回由各个参数的序列组成的元组 。
Python的序列

文章插图
 
3、什么是“迭代”?
iterable是一个迭代器,迭代是重复反馈过程的活动,目的是为了接近并到达所需要的目标 。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值 。
Python的序列

文章插图
 
4、调用max(‘I love you ’)会返回什么?为什么?
会返回‘Y’,因为字符串在计算机中是以ASCII码的形式存储(ASCII对照表:
http://bbs.fishc.com/thread-41199-1-1.html),参数中ASCII码值最大的是'Y’对应的121 。
Python的序列

文章插图
 

【Python的序列】


    推荐阅读