在Python中循环列表
我有一个列表中的子列表。 我想打印长度等于3的所有子列表。
我在python中执行以下操作:
for x in values[:]: if len(x)==3: print x
'价值'是原来的名单。 上面的代码打印每个x的长度等于3的所有子列表吗? 我想显示length==3
只有一次的子列表。
问题已经解决了。 问题是用eclipse编辑器。 我不明白原因,但是当我运行我的循环时,它只显示我的列表的一半。
有什么设置,我必须改变在日食?
尝试这个,
x in mylist
中的x in mylist[:]
比x in mylist[:]
更好,更易读x 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使用列表parsing
>>> [x for x in mylist if len(x)==3] [[1, 2, 3], [8, 9, 10]] >>>
你也可以for x in values
使用for x in values
而不是for x in values
使用for x in values
for x in values[:]
; 后者做了不必要的拷贝。 此外,当然,代码检查长度为2而不是3 …
代码只打印每个x
值的一个项目 – 而x
则遍历values
的元素,即子列表。 所以它只会打印每个子列表一次。