鱼C论坛

 找回密码
 立即注册
查看: 1179|回复: 3

range()函数不是只是表示范围吗

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

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

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

x
>>> x = [1,2,1,2,1,1,1]
>>> for i in range(len(x)-1,-1,-1):
        if x[i]==1:
                del x[i]

               
>>> x
[2, 2]


这个range函数是怎么运行的啊大佬们
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-3 22:17:58 | 显示全部楼层
for i in range(len(x)-1,-1,-1):  # 从长度减一开始到-1,每次递增一个元素
        if x[i]==1:
                del x[i]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-3 22:23:45 | 显示全部楼层
循环里加上
print(x)
print(i)
你就知道了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-4 02:03:46 | 显示全部楼层
本帖最后由 默默無名 于 2018-4-4 02:07 编辑

x = [1, 2, 1, 2, 1, 1, 1]
#x 的成員位子編號是 x =[0 1 2 3 4 5 6]

for I in range(len(x)-1, -1 , -1):

#len(x) = 7 ,因為這個x=[ ]裡面有7個成員,如果 x = [1, 2, 3, 4, 5, 6, 7, 8, 9] ,那len(x) = 9
#for語法:range( 起始, 結束 , 步長(默認值是1) )。 ex: range(5) = range(起始 0, 結束 5 , 步長1),
所以range(len(x)-1, -1 , -1)可以看成range(起始 7-1 = 6 ,結束 -1,步長 -1)(為什麼沒有-1小甲魚老師第009講有講到,可以去複習一下)

if x[I] == 1:
    del x[I]

#x[i]的意思是 x 列表第 i 編號的成員是誰,所以x[0]=1,x[1]=2,x[3]=2,x[5]=1
#for會遍歷數字序列,所以 i 的變量會依序變成(6, 5, 4, 3, 2, 1, 0)
#所以編號6~0如果成員是 1 的話就會被刪掉
#可以對顏色理解看看

#如果理解有錯,麻煩大家糾正我,謝謝
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-29 03:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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