鱼C论坛

 找回密码
 立即注册
查看: 2951|回复: 6

012讲中课后题

[复制链接]
发表于 2017-11-26 14:46:28 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 楚囚i 于 2017-11-26 14:48 编辑

列表推导式
list1=[i*i for i in range(10)]
为什么打印出来:
[0,1,4,9,16,25,36,49,64,81]
他每次都是二的倍数吗?




因为是刚学有些问题比较白痴    希望你们回答问题是不会感觉我哪么白痴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-26 15:11:59 From FishC Mobile | 显示全部楼层
列表表达式用来根据条件生成一个列表
list1=[i*i for i in range(10)]
等价于
list1=[]
for i in range(10):
       list1.append(i*i)

所以结果和2的倍数无关,是一个平方数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 15:15:50 | 显示全部楼层
for i in range(10)表示打印出0到9嘛?然后就是i*i,每一次的i都乘以i本身,这个就是个循环然后在列表里了而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 15:18:44 | 显示全部楼层
哪他是怎么列表推导的   就是012课后题最后一点  就涂改了根据列表推到还原  是怎么出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 15:24:30 | 显示全部楼层
BngThea 发表于 2017-11-26 15:11
列表表达式用来根据条件生成一个列表
list1=
等价于


哪他是怎么列表推导的   就是012课后题最后一点  就涂改了根据列表推到还原  是怎么出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 15:32:04 From FishC Mobile | 显示全部楼层
python! 发表于 2017-11-26 15:24
哪他是怎么列表推导的   就是012课后题最后一点  就涂改了根据列表推到还原  是怎么出来了

过程不是都告诉你了吗?你要实现题目的要求就应该是这样写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 17:53:55 | 显示全部楼层
不是“每次都是二的倍数”,而是“每次都是自身的平方”(即:i * i)...而 i 的值是由 for 循环迭代而来,范围是range(10)也就是 i 的值从 0 开始,到 9 结束!因此列表生成以后就是[0, 1, 4, 9, 14, 25, 36, 49, 64, 81]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 23:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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