Python如何用while循环去除列表空字符串?异常代码应如何修改?
问题原因
- 你编写的代码无法得到预期结果的核心问题是
while循环的计数变量x没有设置自增逻辑:循环执行过程中x的值始终为初始值0,永远满足x < len(list1)的判断条件,程序会进入死循环,无法执行到后续的print语句。
修复方案
仅需在while循环体内添加一行x += 1,每次循环结束后将计数变量加1,遍历完list1的所有元素后循环就会正常退出:
list1 = ["apple", "pear", "", "strawberry", "orange", "grapes", "", "watermelon"] list2 = [] x = 0 while x < len(list1): if len(list1[x]) > 0: list2.append(list1[x]) x += 1 print(list2)
运行后输出结果为['apple', 'pear', 'strawberry', 'orange', 'grapes', 'watermelon'],符合预期。
内容的提问来源于stack exchange,提问作者yopangyo
相关产品推荐
相关产品推荐

