Python Day19 序列

2017-05-17  本文已影响0人  读书的番茄

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)]
上一篇下一篇

猜你喜欢

热点阅读