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