鱼C论坛

 找回密码
 立即注册
查看: 139|回复: 4

[技术交流] 列表推导表达式时什么意思?

[复制链接]
发表于 2024-10-28 22:11:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问如下的列表推导式代表什么意思?
a = [i for i in range(100) if not (i%2)and i % 3]

可以详细解释一下上面的推导式么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-10-28 22:14:37 | 显示全部楼层
列表推导式是Python中的一种简洁的语法,用于生成列表。它通过在一个表达式中嵌入循环和条件语句,从而快速创建列表。

一个基本的列表推导式的结构如下:
[expression for item in iterable if condition]

- `expression`:每次循环时生成的元素,可以对`item`进行操作。
- `for item in iterable`:循环,从`iterable`中取出每个元素。
- `if condition`(可选):条件,只有满足条件的项目才会被加入到生成的列表中。

例如,下面的列表推导式用来生成一个包含1到10之间所有偶数的列表:
a = [x for x in range(1, 11) if x % 2 == 0]

解释:

- `x for x in range(1, 11)`:遍历1到10的数字。
- `if x % 2 == 0`:只保留偶数。

生成的列表 `a` 就是 `[2, 4, 6, 8, 10]`。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-10-28 22:22:32 | 显示全部楼层
非常好的回答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-28 22:22:40 | 显示全部楼层


很高兴能帮到你!如果还有其他问题,随时问我哦!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-10-28 22:53:43 | 显示全部楼层
        列表推导式只不过是一种代码简写方法,没什么好解释的,如果用普通代码来写,应该是下面的形式:
a = []
for i in range(100):
    if not (i % 2) and i % 3:   # 如果 i 能被 2 整除,同时,不能被 3 整除
        a . append(i)           # 那就把 i 添加到 a[] 中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 11:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表