一个python的list的问题

一个python的list的问题

list = ['aa', 'bb', 'b', 'c', 'ccfff', 'j', '34' , 'pggg', '0']
for s in list:
    if len(s) > 1:
        list.remove(s)
    
print list


想把list里符合条件的给删去,不过发现如果有个相邻的字串都符合条件的话,只能删除一个,怎么回事?
删除掉第N项的话,第N+2项就成了第N+1项,但是循环接着还是第N+1项,也就是跳过原来的第N+1项

_list=['aa', 'bb', 'b', 'c', 'ccfff', 'j', '34' , 'pggg', '0']

_list=[ tmp for tmp in _list if len(tmp)<=1 ]

print _list
thx,pyhon还是很强大的啊!
再提供一种方法:

filter(lambda x:len(x)<=1, list)
python的方法还真不少!

倒着删就不会出问题了吧:)
如果不考虑顺序的话,可以使用set

list(set(a))