我在 Python 中遇到了以下代码行,我一直想知道它到底做了什么:
while '' in myList:
myList.remove('')
提前致谢。
最佳答案
它会低效地从列表中删除所有空字符串。
'' in myList
测试 ''
是否是 myList
的成员;它会遍历 myList
来扫描值。 myList.remove('')
扫描 myList
以找到列表中等于 ''
的第一个元素并将其从列表:
>>> myList ['', 'not empty']
>>> '' in myList
True
>>> myList.remove('')
>>> myList
['not empty']
>>> '' in myList
False
因此,代码重复扫描 myList
中的空字符串,每次找到一个空字符串时,都会执行另一次扫描以删除该空字符串。
myList = [v for v in myList if v != '']
将是完成相同任务的一种不同的、更有效的方法。这使用列表理解;遍历 myList
中的所有值并根据这些值构建一个新列表对象,前提是它们不等于空字符串。
关于python - While 在 Python 中用单引号循环一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20152447/