【python】序列及其内置函数

来源:互联网 发布:淘宝开通货到付款流程 编辑:程序博客网 时间:2024/05/22 14:17

一、列表、元组和字符串的共同点


把元组、列表和字符串统称为序列。


二、序列的内置函数BIF

1、list():把一个可迭代对象转换为列表

形式: 

1)无参数:list() -> new empty list  生成一个空列表
2)有参数:list(iterable) -> new list initialized from iterable's items

iterable:迭代器(不是for循环)

迭代:重复反馈过程的活动,其目的通常是为了接近并达到所需的目标或结果,每一次对过程重复我们称之为一次迭代,而每一次迭代得到的结果都会被用来当做下一次迭代的初始值。目前来说,迭代就是一个for循环,但今后要介绍的迭代器就不仅仅是for循环了。

注意:序列天生就是可迭代的对象,实际上迭代就是从序列中泛化而来的。 

list()实现过程:先新建一个列表,然后每一次循环通过索引字符串、列表或者元组得到元素插入到新建的列表中。迭代完成,循环结束,然后返回整个列表就可以了。


例如:

>>> b='sfkghowr'
>>> list(b)
['s', 'f', 'k', 'g', 'h', 'o', 'w', 'r']

>>> c=(1,1,2,3,5,8,13)
>>> list(c)
[1, 1, 2, 3, 5, 8, 13]


2、tuple():把一个可迭代对象转换为元组

和list()一样,只是转换的结果形式不一样


3、str(obj):把obj对象转换为字符串

>> a=[1,2,3,4]
>>> str(a)
'[1, 2, 3, 4]'
>>> a='ajhgurhg'
>>> str(a)
'ajhgurhg'
>>> a=(1,2,4)
>>> str(a)
'(1, 2, 4)'

4、len(sub):返回sub的长度

5、max():返回序列或者参数集合中的最大值

>>> max(3,5,8,0)
8
>>> b='adhfgqaurz'
>>> max(b)
'z'  ASCII码

6、min():回序列或者参数集合中的最小值

注意:max()和min()都要保证参数集合或者序列的数据类型都是一致的。

报错:TypeError: unorderable types: str() > int()

7、sum(iterable[,a]):返回序列iterable和可选参数a的总和。

>>> a=[1,2,3,4,5]
>>> sum(a)
15
>>> sum(a,3)
18

注意:sum不支持字符串类型。因为字符串不是数据类型,不是整数类型,不是浮点数类型。不能实现求和操作。

8、sorted():返回一个排序的列表,默认是从小到大。

使用方法:和list.sort()一样

9、reversed():和list.reverse()是一致的

>>> a
[8, 4, 9, 3, 0]
>>> reversed(a)
<list_reverseiterator object at 0x0000000003434240>   注意:返回的是一个迭代器对象
>>> list(reversed(a))  转换为列表
[0, 3, 9, 4, 8]

10、enumerate():枚举,生成由每个元素index值和item值组成的元组

>>> a=[8,4,9,3,0]
>>> enumerate(a)
<enumerate object at 0x000000000342EA68>   注意:返回的是一个迭代器对象
>>> list(enumerate(a))
[(0, 8), (1, 4), (2, 9), (3, 3), (4, 0)]

11、zip():返回由各个参数的序列组成的元组

>>> a=[8,4,9,3,0]
>>> b=[1,2,3,4,5,6,7,8]
>>> zip(a,b)
<zip object at 0x00000000034335C8>
>>> list(zip(a,b))
[(8, 1), (4, 2), (9, 3), (3, 4), (0, 5)]

原创粉丝点击