我遇到了以下使用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 - 在Python中使用单引号的While循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20152447/