首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文为初学者解读Python中的列表推导式

列表推导式是一种易于阅读、紧凑且优雅的使用迭代对象创建列表的方式。通常格式是括在方括号中的单行代码。您可以使用它来筛选、格式化、修改现有可迭代对象。

语法格式如下:

vals = [expression for value in collection if condition]

下面的代码是最简单的列表推导式的示例。在这里,我们只是循环遍历并将其所有元素存储在列表中。

>>> lst = [1,2,3,4,5,6,7,8,9,10]

>>> a = [x for x in lst]

>>> print(a)

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

上面的代码等效于:

a = []

lst = [1,2,3,4,5,6,7,8,9,10]

for i in lst:

  a.append(i)

我们可以使用任何表达式来修改列表的元素,还可以添加一个条件,这可以帮助我们过滤数据。

>>> lst = [1,2,3,4,5,6,7,8,9,10]

>>> a = [x*2 for x in lst if x > 4]

>>> print(a)

[10, 12, 14, 16, 18, 20]

上面的代码等效于:

a = []

lst = [1,2,3,4,5,6,7,8,9,10]

for i in lst:

  if x>4:

      a.append(i)

我们还可以在列表推导式中再添加一个条件。例如,在下面的代码中,我们存储了值大于4且可被2整除的所有元素。

>>> lst = [1,2,3,4,5,6,7,8,9,10]

>>> a = [x for x in lst if x > 4 if x%2 == 0]

>>> print(a)

[6, 8, 10]

上面的代码等效于:

for i in lst:

  if i > 4:

      if i % 2 == 0:

          a.append(i)

我们还可以在列表推导式条件中添加else。

>>> lst = [1,2,3,4,5,6,7,8,9,10]

>>> a = [x if x > 4 else '小于4' for x in lst]

>>> print(a)

['小于4', '小于4', '小于4', '小于4', 5, 6, 7, 8, 9, 10]

上面的代码等效于:

for i in lst:

  if i > 4:

      a.append(i)

  else:

      a.append('小于4')

上面我们看到了列表推导式能够在一行中完成一项任务,而for循环需要在多行中完成。列表推导式简单、易于阅读、紧凑且比for循环更快。列表推导式在许多不同的情况下也是可靠的,您可以在各种情况下使用它。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230111A08KMQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券