|
|
51CTO旗下网站
|
|
移动端

2.7.2 序列相关的内置函数

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍序列相关的内置函数。

作者:李金来源:机械工业出版社|2018-05-03 21:30

2.7.2 序列相关的内置函数

1.序列的真假判断: all()、any()

函数 all()接受一个序列,当序列中所有的元素都计算为真时,返回 True,否则为False;而函数any()则在序列中的任意一个元素为真时返回True,否则为False。

判断真假的规则与判断语句中的判断条件一致:

  1. In [13]: all(["abc", 1, 2.3, [1, 2, 3]])   
  2. Out[13]: True   
  3. In [14]: any(["", 0, [], False, {1, 2}])   
  4. Out[14]: True  

2.连续序列的生成: range()和 xrange()

xrange()函数与 range()函数的使用方法一致,只不过它生产的不是列表,而是一个xrange()对象:

  1. In [15]: range(10)   
  2. Out[15]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]   
  3. In [16]: xrange(10)   
  4. Out[16]: xrange(10) 

当我们使用 for循环时,range()函数会先产生一个临时列表,而xrange(n)则不会额外产生列表,能节约一定的时间和空间,提高效率。

3.序列的迭代: enumerate()和 zip()

enumerate()函数可以在迭代序列时输出序号和值:

  1. In [17]: for i, c in enumerate("abc"):  
  2.     ...: print i, c  
  3.     ...:   
  4.  
  5. 0 a   
  6. 1 b   
  7. 2 c 

我们还可以在函数中指定序号的开始值,比如enumerate(x, 1)表示计数从1开始。zip()函数则可以将多个序列放在一起迭代:

  1. In [18]: for i, c in zip("123", "abc"):  
  2.     ...: print i, c  
  3.     ...:   
  4.  
  5. 1 a   
  6. 2 b   
  7. 3 c   
  8.  
  9. 90 

4.序列的最值: max()和 min()

可以用max()函数和min()函数来求最值:

  1. In [19]: max([1, 3, 2])   
  2. Out[19]: 3   
  3. In [20]: max(1, 3, 2)   
  4. Out[20]: 3   
  5. In [21]: min(1, 3, 2)   
  6. Out[21]: 1   
  7. In [22]: min([1, 3, 2])   
  8. Out[22]: 1  

5.序列的切片: slice()

我们在调用切片时使用了 start:stop:step的形式。可以通过 slice()函数来生成这样的一个slice对象,如“5:10:2”:

  1. In [23]: slice(5, 10, 2)   
  2. Out[23]: slice(5, 10, 2) 

但是不能直接使用“5:10:2”本身:

  1. In [24]: 5:10:2  
  2.   File "<ipython-input-24-1a46de73c1e2>", line 1  
  3.  
  4.     5:10:2  
  5. ^   
  6. SyntaxError: invalid syntax  

slice对象的作用与start:stop:step相同:

  1. In [25]: range(20)[slice(5, 10, 2)]   
  2. Out[25]: [5, 7, 9]   
  3. In [26]: range(20)[5:10:2]   
  4. Out[26]: [5, 7, 9]  

6.序列的排序与逆序: sorted()与 reversed()

sorted()函数和 reversed()函数可以分别实现将列表排序和反序的过程。它们的返回值有所区别,排序函数 sorted()返回的是一个列表;而反序函数 reversed()返回的则是一个迭代器,我们将在之后介绍迭代器的内容:

  1. In [27]: sorted([2,3,4,1])   
  2. Out[27]: [1, 2, 3, 4]   
  3. In [28]: reversed([1,2,3,4])   
  4. Out[28]: <listreverseiterator at 0x485b2b0>  

7.序列的和: sum()

sum()函数可以对序列进行求和:

  1. In [29]: sum([1, 2, 3, 4])   
  2. Out[29]: 10  

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Windows Forms 编程实战

本书由浅入深地介绍Windows Forms编程的技巧和各种实用方法。本书先详细介绍了菜单、状态条、可复用类库、文件对话框、文本框、按钮、列表...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊