鱼C论坛

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

新人求助

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

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

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

x
问问大家这个要循环几次啊??



>>> x = [1,2,1,2,1,1,1]
>>> for i in x:
                   if i == 1:
                x.remove(i)               
>>> x
[2, 2, 1]
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-3 20:42:58 From FishC Mobile | 显示全部楼层
[1,2,1,2,1,1,1],你的计划是循环7次,删除所有1,余下[2,2]。但你的代码循环时是:
第一次,x的第一个元素,1,删除,此时x=[2,1,2,1,1,1];
第二次,x的第二个元素,1,删除,此时x=[2,2,1,1,1];
第三次,x的第三个元素,1,删除,此时x=[2,2,1,1];
第四次,x的第四个元素,1,删除,此时x=[2,2,1];
第五次,x的第五个元素,无,循环结束,最终x=[2,2,1]。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-3 20:44:48 | 显示全部楼层
循环了4次
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-3 20:47:41 | 显示全部楼层
  1. ## 可以这样

  2. x = [1,2,1,2,1,1,1];
  3. x = [i for i in x if i != 1]
  4. print(x)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-3 20:51:34 | 显示全部楼层
一边删一边遍历列表X,X早就不是原先的X了。
  1. x = [1,2,1,2,1,1,1]

  2. list2 = [i for i in x  if i != 1]
  3. print(list2)

  4. #或者

  5. list3 = []
  6. for each in x:
  7.      if each != 1:
  8.         list3.append(each)

  9. print(list3)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-13 03:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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