马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码是这样的
list1=['','','',2,3,2,3] #这里的''就是引号里啥都没,也是一个元素。
for i in list1:
if i=='':
list1.remove(i) #就是只要是''这个元素就删了
print(list1)
但是最后输出是这样的:['',2,3,2,3]
很明显''没有被删完
求问这是为啥?
本帖最后由 137118510 于 2019-4-4 20:13 编辑
['',2,3,2,3] 这个是结果
list1=['','','',2,3,2,3] 给三个 '' 元素取名 0 , 1 ,2
我在网上查找,大概是这个意思
第一次循环,第一个元素 0 被识别出来并且被删除,然后第二个元素 1 往前一个位置,
变成['','',2,3,2,3] 这里的第一元素是原始列表里的1 第二个是原始列表里的2,
当第二次运行for循环,电脑会跳过第一个,因为第一个已经遍历过,可是电脑没发现,现在的list1
的第一个元素是原始列表的第二个元素 1 ,现在列表list1的第二个元素是 2 ,电脑运行,出发if条件,
并且删除空格 2 ,之后的2,3,2,3没有触发if条件
所以print(lisr1)的第一个元素是原列表里的第二个元素
不知道这样能不能理解
|