Python 列表推导式

Python 列表推导式是一种用于快速创建一个新列表的语法结构。它的基本语法如下:

[expression for item in iterable if condition]

其中,

  • item 是迭代的元素;
  • iterable 是一个可迭代的对象,例如列表、元组、集合、字典等;
  • expression 是对 item 进行处理的表达式;
  • if condition 是一个可选项,表示只有当满足条件时才对 item 进行处理。

例如,以下代码使用列表推导式创建一个新列表,其中为原列表中的每个元素平方,且仅包含大于 10 的元素:

original = [1, 5, 10, 15, 20]
new_list = [x**2 for x in original if x > 10]
print(new_list)  # 输出 [225, 400]

习题

Python 列表推导式

使用列表推导式过滤出偶数列表

# -*- coding: UTF-8 -*-
if __name__ == '__main__':
    list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    print('')
    print("# 使用列表推导式过滤出偶数")

    # TODO(you): 请在此实现过滤代码

    for n in even:
        print(n)

    print('')

even = [n for n in list if n % 2 != 0]

该代码不能实现过滤出偶数列表的功能,因为判断条件为 n % 2 != 0,这个条件筛选出的是奇数。应该将条件改为 n % 2 == 0 才能筛选出偶数。

even = [n for n in list if n % 2 == 0]

该语句使用列表推导式生成一个新列表,其中包含原列表 list 中的所有偶数元素。在 if 条件语句中,使用 % 操作符判断元素是否为偶数,从而进行筛选。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值