Python-列表解析

  • 内容
  • 评论
  • 相关

所谓列表解析(也有翻译成列表综合),就是通过一个已有的列表生成一个新的列表。

直接看例子:
假设有一个由数字组成的 list,现在需要把其中的偶数项取出来,组成一个新的 list。一种比较“正常”的方法是:

输出

此方法通过循环来遍历列表,对其中的每一个元素进行判断,若模取2的结果为0则添加至新列表中。

使用列表解析实现同样的效果:

输出

[i for i in list_1]  会把 list_1 中的每一个元素都取出来,构成一个新的列表。

如果需要对其中的元素进行筛选,就在后面加上判断条件 if。所以 [i for i in list_1 if i % 2 == 0]  就是把 list_1 中满足 i % 2 == 0 的元素取出来组成新列表。

进一步的,在构建新列表时,还可以对于取出的元素做操作。比如,对于原列表中的偶数项,取出后要除以2,则可以通过 [i / 2 for i in list_1 if i % 2 == 0]  来实现。输出为 [1, 4, 11] 。

在实际开发中,适当地使用列表解析可以让代码更加简洁、易读,降低出错的可能。

留一道作业:

用一行 Python 代码实现:把1到100的整数里,能被2、3、5整除的数取出,以分号(;)分隔的形式输出。

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注