python - 在 Python 中循环列表

我有一个包含子列表的列表。我想打印所有长度等于 3 的子列表。

我在 python 中执行以下操作:

for x in values[:]:
    if len(x) == 3:
        print(x)

values 是原始列表。上面的代码是否为 x 的每个值打印每个长度等于 3 的子列表?我想只显示一次 length == 3 的子列表。

问题解决了。问题出在 Eclipse 编辑器上。我不明白原因,但是当我运行循环时它只显示了我列表的一半。

我需要在 Eclipse 中更改任何设置吗?

最佳答案

x in mylistx in mylist[:] 更好且更具可读性,并且您的 len(x) 应该等于 3.

>>> mylist = [[1,2,3],[4,5,6,7],[8,9,10]]
>>> for x in mylist:
...      if len(x)==3:
...        print x
...
[1, 2, 3]
[8, 9, 10]

或者如果你需要更多的pythonic使用list-comprehensions

>>> [x for x in mylist if len(x)==3]
[[1, 2, 3], [8, 9, 10]]
>>>

https://stackoverflow.com/questions/9138112/

相关文章:

python - 如何模拟请求和响应?

python - 谁能解释python的相对进口?

linux - 如何获取终端的字符编码

mysql - 重命名 MySQL 数据库

python - 如何在 Python 中创建不可变对象(immutable对象)?

linux - Linux 的虚拟串行端口

python - 在 Python 中使用 "continue"语句的示例?

linux - bash中带有变量的别名

linux - 如何从容器本身获取 Docker Linux 容器信息?

python - Django 数据库设置 'Improperly Configured' 错误