当前位置:  开发笔记 > 编程语言 > 正文

需要澄清 - Python For循环使用列表

如何解决《需要澄清-PythonFor循环使用列表》经验,为你挑选了1个好方法。



1> msvalkon..:

您正在迭代它时修改列表.它将跳过元素,因为列表在迭代期间会发生变化.删除项目list.remove()也将删除该元素的第一个出现,因此可能会有一些意外的结果.

从列表中删除元素的规范方法是构造一个列表,如下所示:

>>> def check(temp):
...    return list(x for x in temp if not isinstance(x, str))

或者您可以返回常规列表理解:

>>> def check(temp):
...     return [x for x in temp if not isinstance(x, str)]

您通常应该测试类型isinstance()而不是type().type例如,他不知道继承.

例子:

>>> check(['a', 'b', 1])
[1]

>>> check([ 1, 'a', 'b', 'c', 2 ])
[1, 2]

>>> check(['a', 'b', 'c', 'd'])
[]

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有