1、根据列表、元组、字符串的共同特点,把它们三个统称为什么?
统称为序列,它们有这些共同点:
1)都可以由索引得到每一个元素
2)默认索引值总是从0开始(Python/ target=_blank class=infotextkey>Python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
2、分别使用什么BIF,可以把一个可迭代对象转换为列表、元组、字符串?
list([iterable])把可迭代对象转换为列表。
list作为一个方法有两个形态,一个形态是有参数,一个形态是没有参数的。
tuple的使用方式和list是一样的。
tuple([iterable])把可迭代对象转换为元组。
str(obj)把对象转换为字符串。
len()是返回参数的长度。
max()方法返回参数、序列、集合中的最大值。
min()返回序列、参数中的最小值。
使用min()或者是max()方法要保证序列或者参数的数据类型是统一的,可以是全部都是字符、全部都是整数等。
max方法的实现原理如下:
sum(iterable,[start=0]),start参数是可选的,iterable参数是必备的,返回序列iterable的总和。sum()这个BIF有个缺陷,如果参数里有字符串类型就会报错。
从小到大排序,用sorted()实现。
reversed返回迭代器对象,用list方式转换为列表。
enumerate生成由每个元素组成的元组。
zip返回由各个参数的序列组成的元组。
3、什么是“迭代”?
iterable是一个迭代器,迭代是重复反馈过程的活动,目的是为了接近并到达所需要的目标。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
4、调用max(‘I love you ’)会返回什么?为什么?
会返回‘Y’,因为字符串在计算机中是以ASCII码的形式存储(ASCII对照表:
http://bbs.fishc.com/thread-41199-1-1.html),参数中ASCII码值最大的是'Y’对应的121。