找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3580|回复: 3

[已解决] 怎么理解这里的list

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger 发表于 2017-4-17 17:01:21 | 显示全部楼层 |阅读模式
lst=[1,2,3,1,5,1,7,1,9]
for number in lst:
    if number==lst[0]:
        lst.remove(number)
print(lst)
显示的结果不理解
我是这么看的
number    if    lst
1              T     2,3,1,5,1,7,1,9
2              T     2,1,5,1,7,1,9
3              T     1,5,1,7,1,9
1              T     5,1,7,1,9
......
到最后lst应该是【】啊。
也就是说if number==lst[0]中的lst,是变化的。
为什么显示的结果,却是 ,if number==lst[0]中的lst是不变的?
是变的还是不变的?怎么理解?谢谢!

回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2017-4-17 19:56:14 | 显示全部楼层
其实你问的是for循环中的lst是不是变化的(在remove之后),其实很简单可以验证,是变化的。只要在if前面加一个print(lst)即可验证。这样就很容易理解输出的结果了
回复 支持 反对

使用道具 举报

4

主题

11

帖子

11

积分

贫民

积分
11
prowltiger  楼主| 发表于 2017-4-18 09:41:38 | 显示全部楼层
blueelwang 发表于 2017-4-17 19:56
其实你问的是for循环中的lst是不是变化的(在remove之后),其实很简单可以验证,是变化的。只要在if前面加 ...

非常感谢!
回复 支持 反对

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2017-4-18 13:46:42 | 显示全部楼层

客气啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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