笔记:
1、列表、元组和字符串的共同点:
1)都可以通过索引得到每一个元素
2)默认索引值总是从0开始
3)可以通过分片的方法得到一个范围内的元素的集合
4)由很多共同的操作符(重复操作符,拼接操作符,成员关系操作符)
2、迭代:
重复反馈过程的活动,其目的通常是为了接近并达到所需的目标成果,每一次对过程的重复我们称之为迭代。每一次迭代的结果作为下一次迭代的初始值。
3、一些重要的BIF:
1)list():把一个可迭代的对象转换为列表
2)tuple([iterable]):把一个可迭代的对象转化为元组
3)str(obj):把obj对象转化为字符串
4)max(),min():返回序列或者参数集合中的最大或最小值
5)sum(iterable[,start=0]):返回序列iterable和可选参数start的总和
6)sorted():返回排序的列表,默认从小到大
以下返回迭代器对象:
7)reversed():翻转
8)enumerate():枚举,生成由每个元素索引值和元素组成的元组
9)zip():返回各个参数的序列组成的元组
A. 比较list.sort() 方法 & BIF: sorted():
>>> b = [1,4,3,2,5]
>>> b.sort()
>>> b
[1, 2, 3, 4, 5]
>>> sorted(b)
[1, 2, 3, 4, 5]
注意:sorted()函数的参数key,reverse设置
>>> temp = ["1","ab","","zss"]
>>> sorted(temp,key = lambda x :len(x),reverse = True)
['zss', 'ab', '1', '']
>>> sorted(temp,key = len,reverse = True)
['zss', 'ab', '1', '']
B. 比较list.reverse()方法 & BIF : reversed(list):
>>> a =[1,2,3,]
>>> a.reverse()
>>> a
[3, 2, 1]
>>> list(reversed(a))
[1, 2, 3]
>>> s = "zss041962"
#翻转可以用切片
>>> s[::-1]
'269140ssz'
>>> list(reversed(s))
['2', '6', '9', '1', '4', '0', 's', 's', 'z']
>>> s.reverse()
Traceback (most recent call last):
File "<pyshell#31>", line 1, in <module>
s.reverse()
AttributeError: 'str' object has no attribute 'reverse'
C. zip()函数:
>>> list(zip(range(5),"*"*5))
[(0, '*'), (1, '*'), (2, '*'), (3, '*'), (4, '*')]
测试题:
我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?
答:序列
序列,因为他们有以下共同点:
1)都可以通过索引得到每一个元素
2)默认索引值总是从0开始(当然灵活的Python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元祖和字符串?
答:list() tuple() str()
list([iterable]) 把可迭代对象转换为列表
tuple([iterable]) 把可迭代对象转换为元祖
str(obj) 把对象转换为字符串
- 你还能复述出“迭代”的概念吗?
答:重复反馈过程的活动,其目的通常是为了接近并达到所需的目标成果,每一次对过程的重复我们称之为迭代。每一次迭代的结果作为下一次迭代的初始值。