Python的列表推导式

又学习一个新的知识点,Python的列表推导式,在博客做下记录备忘。python列表推导式一般用在一个列表经过过滤和处理得到另外一个列表。如果还不知道什么是列表,请看《Python基础理论学习笔记》中的列表段。

这是一个很让人欣喜的术语。可以在一行中使用一个for循环将所有值放到一个列表中:

sq = [ x ** 2 for x in range(4)]
for i in sq:
    print i

输出:
0
1
4
9

示例2:

vec=[2,4,6]
vec2=[4,3,-9]
sq = [vec[i]+vec2[i] for i in range(len(vec))]
print sq

输出:
[6, 7, -3]

列表的常用内建方法有:

  • append(x)追加到列表尾。
  • extend(L)追加一个列表L,等价于+=。
  • insert(i,x)在位置i插入x。
  • remove(x)删除第一个值为x的元素,如果不存在会抛出异常。
  • reverse()反转序列。
  • pop([i])返回并删除位置为i的元素,i默认为最后一个元素(i两边的[]表示i为可选的,实际不用输入)。
  • index(x)返回第一个值为x的元素,不存在则抛出异常。
  • count(x)返回x出现的次数。
  • sort()排序。

更复杂的例子:

sq = [x**2 for x in range(8) if not x % 2]  #挑选符合要求的值放入列表。
for i in sq:
    print i

输出:
0
4
16
36

列表对象之所以能用在这个结构式因为list类型内置__iter__()方法,该方法返回一个含有next(),__iter__()方法iter对象元组用在这里返回的仍然是列表。

暂无评论

写评论

您必须登录后才可以发表评论。

本人从事电脑网络维护工作多年,对电脑配置较为熟悉,闲暇之余精心搜罗了目前主流电脑配置清单推荐给大家。紧跟市场动态,定期更新电脑硬件配置方案,扫除一切垃圾坑爹配置,提供最具性价比的电脑配置清单!本站涵盖内容包括:电脑组装机配置单、电脑组装机报价、电脑组装机教程等,另外还提供很多技术文章供您学习!