a = [1,1,1,4,4,4,5]
b = [20150602, 20150603, 20150604, 20150605, 20150606, 20150607,20150608]
c = zip(a,b)
output = []
for i in range(0, len(c)-1):
if c[i][0] == c[i+1][0] and c[i+1][1] - c[i][1] <= 3:
output.append(c[i])
print output
此代码使用条件搜索2个列表。如果列表b中的列表a AND(元素n + 1) - (元素n)< = 3中的元素n ==元素n + 1,则它打印结果。我遇到的问题是它切断了一个应该打印的元素。 (即此代码将输出使用for循环和条件语句搜索python列表
[(1, 20150602), (1, 20150603), (4, 20150605), (4, 20150606)]
而应输出
[(1, 20150602), (1, 20150603), (1,20150604), (4, 20150605), (4, 20150606), (4, 20150607)])
对于每个“集合”中的第三个元素,由于下一个元素没有匹配的“a”,所以您的条件不再成立。 – tzaman 2015-02-05 21:32:43