鱼C论坛

 找回密码
 立即注册
查看: 1134|回复: 8

[已解决]关于列表推导式问题,求解

[复制链接]
发表于 2018-3-12 23:19:05 | 显示全部楼层 |阅读模式

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

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

x
>>> [i*i for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]    # 返回值

问题1:这里in后面不是跟迭代数据吗,迭代不是重复反馈的吗,该次的结束值为下次的开始值,其中i的初始值应为0
            i*i 得到的结果也应为零,那么i 应为下次初始值啊,以后的结果都为0啊。这是个人理解,不知错在什么地方
最佳答案
2018-3-12 23:46:14
xue11 发表于 2018-3-12 23:40
那为什么while循环则可以这样操作,本次循环结束值作为下次循环的开始值:
例如:>>> number = 10
     ...

while循环中是特意加上number = number +1语句才有你说的现象,但并不代表while循环都是这样。
可以说while循环更接近其他语言中的循环概念,如c语言的for(int i=0;i<10;i++)。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-12 23:21:41 | 显示全部楼层
这里的迭代与数学上的迭代不尽相同。迭代不是重复反馈,而是循环,在循环中依次取出数值,赋值给i,即i的值分别为0,1,2,3...
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-12 23:26:24 | 显示全部楼层
楼上说的对
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-12 23:40:17 | 显示全部楼层
冬雪雪冬 发表于 2018-3-12 23:21
这里的迭代与数学上的迭代不尽相同。迭代不是重复反馈,而是循环,在循环中依次取出数值,赋值给i,即i的值 ...

那为什么while循环则可以这样操作,本次循环结束值作为下次循环的开始值:
例如:>>> number = 10
                 while number < 15:
                          print (number)
                          number = number +1

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-12 23:41:24 | 显示全部楼层
xue11 发表于 2018-3-12 23:40
那为什么while循环则可以这样操作,本次循环结束值作为下次循环的开始值:
例如:>>> number = 10
     ...

返回值10,11,12,13,14
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-12 23:46:14 | 显示全部楼层    本楼为最佳答案   
xue11 发表于 2018-3-12 23:40
那为什么while循环则可以这样操作,本次循环结束值作为下次循环的开始值:
例如:>>> number = 10
     ...

while循环中是特意加上number = number +1语句才有你说的现象,但并不代表while循环都是这样。
可以说while循环更接近其他语言中的循环概念,如c语言的for(int i=0;i<10;i++)。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-13 00:55:13 | 显示全部楼层
迭代只是循环的一种方式,循环具体有三种递归,迭代,遍历
for i in range(10)只能称之为遍历
即从头到尾把(0,1,2,3,4,5,6,7,8,9)访问一遍
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-13 12:54:46 From FishC Mobile | 显示全部楼层
冬雪雪冬 发表于 2018-3-12 23:21
这里的迭代与数学上的迭代不尽相同。迭代不是重复反馈,而是循环,在循环中依次取出数值,赋值给i,即i的值 ...

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-13 12:55:16 From FishC Mobile | 显示全部楼层
tifa2018 发表于 2018-3-13 00:55
迭代只是循环的一种方式,循环具体有三种递归,迭代,遍历
for i in range(10)只能称之为遍历
即从头到尾把 ...

多谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-8 14:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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