我有一个整数列表,如下所示:
unculledlist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
我想剔除这个列表中的值,所以看起来像这样:
culledlist = [0, 2, 4, 10, 12, 14, 20, 22, 24]
但是我想使用列表推导来做到这一点.
这是一个图形预览,我如何尝试剔除列表值.我将列表值排列成行和列更容易理解.但这只是在视觉上.我不需要嵌套列表:
我可以使用两个嵌套循环:
unculledlist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
index = 0
culledlist = []
for i in range(6):
for j in range(5):
if (i % 2 == 0) and (j % 2 == 0):
culledlist.append(unculledlist[index])
index += 1
print "culledlist: ", culledlist # culledlist = [0, 2, 4, 10, 12, 14, 20, 22, 24]
但是我想使用python列表推导来做到这一点.
有人可以提供一个例子吗?
谢谢.
编辑:
我想使用列表推导的原因是因为我的实际unculledlist有几百万的整数.用列表解析来解决这个问题将会明确地加快事情的发展速度.我不在乎可读性.我只想做一个更快的解决方案.
我不能使用numpy或scipy模块.但是我可以使用itertools模块.不确定迭代工具的解决方案是否比列表推导更快?甚至是lambda?