无论是使用for还是while,当在从前往后遍历的同时删除列表中的元素时,都会发生些问题。
要从lst = [1,4,0,1,5,0,3,5]中删除所有0元素,有两个比较好的方法:
1 使用filter:
lst = filter(lambda x : x != 0, lst)
2 使用列表解析:
lst = [x for x in lst if x != 0]
这两种方式既简洁,可读性又好
ref: https://segmentfault.com/a/1190000007214571