也许像这样(只是一个伪代码)
li = [1,2,3,4,5,6]
a = [d for d in li if self.length<3]
print a
[1,2]
做这件事的pythonic方法是什么?
答案 0 :(得分:3)
您可以使用itertools.count()
来跟踪您使用的元素数量:
from itertools import count
li = [1,2,3,4,5,6]
c = count(1) # initialize to 1
a = [d for d in li if next(c) < 3] # everytime you add an element
print (a) # in the comprehension `c` is incremented
跟踪添加到列表中的元素,因此列表的长度给出:
[1, 2]
如预期的那样长度为2。
已编辑:更简单的方法,enumerate
:
a = [d for idx, d in enumerate(li) if idx < 2]