学习列表中的一个作业,遇到些问题希望可以得到解答,谢谢啦
python吧
全部回复
仅看楼主
level 1
wpeng326 楼主
想要通过循环将除了if条件中的两个元素保留,其余的删除,为什么执行后,只删除
liujinyang, wuyajun, mother, wangdabin
请问是为什么呢??
2018年06月12日 13点06分 1
level 1
wpeng326 楼主
不知道为什么个别元素会跳过没有删除?只有在外层再加一个while循环才可以,为什么啊?
为什么啊?
2018年06月12日 14点06分 2
level 1
wpeng326 楼主

2018年06月12日 14点06分 3
level 1
wpeng326 楼主

2018年06月12日 14点06分 4
level 1
wpeng326 楼主

2018年06月12日 14点06分 5
level 9
感觉没问题啊
2018年06月12日 14点06分 6
看一下下一楼,是执行结果
2018年06月12日 14点06分
换一个参数看看remove换成pop或者del
2018年06月12日 14点06分
@学不会hk的hk pop不行,因为随着删除,长度改变,会报索引错误,我知道怎么改成通过,但是不知道为什么但用一个for循环为什么有的元素会漏下来
2018年06月12日 14点06分
我也是
2018年06月12日 14点06分
level 1
wpeng326 楼主
这个是执行结果,为什么剩下了三个元素
2018年06月12日 14点06分 7
level 9
直接拿filter 函数去操作可以简化很多
2018年06月13日 01点06分 10
level 2
在对集合(包括列表或字典等)遍历的过程中,不要对其作出“修改性”操作,否则会出现不可预料的结果。有些语言甚至会直接抛出异常,以避免数据出错。
其实,你想实现的功能,一句话就能做到,而且执行效率还高一些:
guests = [ x for x in guests if x != 'tangyujie' and x != 'zhangjie' ]
2018年07月11日 01点07分 11
谢谢了
2018年07月12日 12点07分
1