python入门

列表推导

2022-06-09  本文已影响0人  朱兰Juran

列表推导

列表推导是遵循简单规则快速创建内容列表很有用的方法。

已知有一个包含5个整数的列表list,创建一个新列表cubes,该列表中每个元素为list列表中每个元素的立方,如下所示。

  list = range(5)

  cubes = []

  for num in list:

      cubes.append(num ** 3)

  print(cubes)

在上例中,通过for循环遍历list中的每一个元素并计算出立方值,然后将立方值添加到列表cubes中。

在Python中可以使用更简单的方法实现上述功能,如下所示。

cubes = [i**3 for i in range(5)]

print(cubes)

结果:

[0, 1, 8, 27, 64]


列表推导- if 语句

列表推导还可以包含一个 if 语句生成列表中的值。语法格式如下

[表达式1 for k in L if 表达式2 ]

相当于:

List = []

for k in L:

    if 表达式2:

        List.append(表达式1)

其中,List的元素由每一个“表达式1”组成,if语句用于过滤,可以省略。接下来我们看一个实例来说明:

evens=[i**2 for i in range(10) if i**2 % 2 == 0]

print(evens)

结果:

[0, 4, 16, 36, 64]


列表推导-MemoryError

试图使用一个非常巨大的 range 创建一个列表将导致一个 MemoryError 。

此代码显示列表耗尽内存的示例。

even = [2*i for i in range(10**100)]

结果:

MemoryError

上一篇 下一篇

猜你喜欢

热点阅读