鱼C论坛

 找回密码
 立即注册
查看: 1811|回复: 7

[已解决]下面for语句中,each+1怎么理解?

[复制链接]
发表于 2020-8-30 13:36:17 | 显示全部楼层 |阅读模式

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

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

x
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

for each in range(len(member)):
    if each%2 == 0:
        print(member[each], member[each+1])

如上for语句中,print(member[each])中的each怎么理解?这里为什么要有一个each?
而且打印出来并没有显示each,  后边的member[each+1]又怎么理解,+1在这条语句中有什么作用?

谢谢回答,感激不尽!
最佳答案
2020-8-30 16:15:34
本帖最后由 学习型motor 于 2020-8-30 16:23 编辑

看看例子吧。

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:                #这里in后面是member是个列表
    print("打印的是:",each)

运行结果:
打印的是: 小甲鱼
打印的是: 88
打印的是: 黑夜
打印的是: 90
打印的是: 迷途
打印的是: 85
打印的是: 怡静
打印的是: 90
打印的是: 秋舞斜阳
打印的是: 88

可以看到例子①每次打印出来的都是member列表中的元素,依次打印出来了


然后再来看看你的例子
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in range(len(member)):            #member是列表,len(member)是列表的长度即10 =》所以这里可以等价为for each in range(10),
    if each%2 == 0:
        print(member[each], member[each+1])

所以这里for each in range(10)中each就表示[0,10)的数字,你可以把range(10)看成是这样一个列表[0,1,2,3,4,5,6,7,8,9]
然后每次循环each拿其中一个元素给自己使用,那么member[each]和member[each+1]就好理解了,比如当each等于1时就是
member[1]和member[2],然后再列表member中找到对应位置的元素打印出来
不知道这样解释你还清楚吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-30 13:49:47 | 显示全部楼层
本帖最后由 疾风怪盗 于 2020-8-30 14:32 编辑
len(member)
是表示列表的长度,是个数字
 range(len(member))
是取值从0到列表的长度,按上面的列表,应该是取值范围0-9
for each in range(len(member)): 
这个each就是0-8数字循环
member[each]
这个就是列表的索引取值,相当于member[0]
你要想知道each是什么,直接加个print(each)看下不就知道了么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 14:24:44 | 显示全部楼层
len(member)表示['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]的长度为10
each%2 == 0表示要找偶数位上的0,2 ,4,6,8即上述列表里的名字

each+1 就是偶数位名字对应的分数

比如each=0时,打印小甲鱼,each+1就是1,那对应的就是88
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 16:15:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 学习型motor 于 2020-8-30 16:23 编辑

看看例子吧。

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:                #这里in后面是member是个列表
    print("打印的是:",each)

运行结果:
打印的是: 小甲鱼
打印的是: 88
打印的是: 黑夜
打印的是: 90
打印的是: 迷途
打印的是: 85
打印的是: 怡静
打印的是: 90
打印的是: 秋舞斜阳
打印的是: 88

可以看到例子①每次打印出来的都是member列表中的元素,依次打印出来了


然后再来看看你的例子
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in range(len(member)):            #member是列表,len(member)是列表的长度即10 =》所以这里可以等价为for each in range(10),
    if each%2 == 0:
        print(member[each], member[each+1])

所以这里for each in range(10)中each就表示[0,10)的数字,你可以把range(10)看成是这样一个列表[0,1,2,3,4,5,6,7,8,9]
然后每次循环each拿其中一个元素给自己使用,那么member[each]和member[each+1]就好理解了,比如当each等于1时就是
member[1]和member[2],然后再列表member中找到对应位置的元素打印出来
不知道这样解释你还清楚吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 16:21:04 | 显示全部楼层
each就是列表里面的一个元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-30 16:48:03 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-31 09:23:31 | 显示全部楼层
去看看小甲鱼视频,复习去~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-31 21:33:13 From FishC Mobile | 显示全部楼层
疾风怪盗 发表于 2020-8-30 13:49
是表示列表的长度,是个数字

是取值从0到列表的长度,按上面的列表,应该是取值范围0-9

谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 20:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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