1,迭代(iteration)(之前记过一次迭代的定义,但是发现还是记得不熟,再写一遍!)
迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
2,list(),把可迭代的对象转换为列表
>>> c = 'i love python!'
>>> c1 = list(c)
>>> c1
['i', ' ', 'l', 'o', 'v', 'e', ' ', 'p', 'y', 't', 'h', 'o', 'n', '!']
>>> d = (1, 1, 2, 3, 5, 8, 13, 21, 34, 55)
>>> d
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55)
>>> d = list(d)
>>> d
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
3,tuple(),把可迭代的对象转换为元组
>>> d = tuple(d)
>>> d
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55)
4,str(),把对象转换为字符串
>>> a
[0, 1, 2, 3, 4, 5, 6]
>>> str(a)
'[0, 1, 2, 3, 4, 5, 6]'
4,len(),返回对象的长度
>>> a
[0, 1, 2, 3, 4, 5, 6]
>>> len(a)
7
5,max(),返回序列中参数的最大值
>>> a
[0, 1, 2, 3, 4, 5, 6]
>>> c
'i love python!'
>>> max(a)
6
>>> max(c)
'y'
c中最大返回的是y,是因为y的ASCII最大
6,min(),返回序列中参数的最小值
>>> e = (1, 0, -1, 2, 3, -3)
>>> min(e)
-3
注意
>>> a
[0, 1, 2, 3, 4, 5, 6, 'a']
>>> max(a)
Traceback (most recent call last):
File "<pyshell#57>", line 1, in <module>
max(a)
TypeError: '>' not supported between instances of 'str' and 'int'
>>> min(a)
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
min(a)
TypeError: '<' not supported between instances of 'str' and 'int'
max()和min()方法,要求序列中所有参数类型一致
7,sum(iterable[, start=0]),返回序列iterable和可选参数start的总和
>>> b
[6, 7, 8, 9, 10, 11, 12]
>>> sum(b)
63
>>> a
[0, 1, 2, 3, 4, 5, 6, 'a']
>>> sum(a)
Traceback (most recent call last):
File "<pyshell#64>", line 1, in <module>
sum(a)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
列表a中,含有字符a
8,sorted(),根据序列中参数的大小,由小到大进行排序
>>> e
(1, 0, -1, 2, 3, -3)
>>> sorted(e)
[-3, -1, 0, 1, 2, 3]
9,reversed(),根据序列中的参数,返回一个倒序排列的列表
>>> e
(1, 0, -1, 2, 3, -3)
>>> reversed(e)
<reversed object at 0x0310B590>
>>> list(reversed(e))
[-3, 3, 2, -1, 0, 1]
reversed(e),直接使用的话返回的是迭代器对象,因此需要把结果转换成list。
10,enumerate(),用序列中每个参数的索引值,依次与参数组成新的元组
>>> a
[0, 1, 2, 3, 4, 5, 6, 'a']
>>> list(enumerate(a))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 'a')]
11,zip(),用2个不同的序列中的参数,根据索引值组成新的元组
>>> a
[0, 1, 2, 3, 4, 5, 6, 'a']
>>> b
[6, 7, 8, 9, 10, 11, 12]
>>> list(zip(a, b))
[(0, 6), (1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)]