Подход к функции генератора, пропускающий соответствующие элементы, даты которых не совпадают:
import itertools
def gen(a1, a2):
for x,y in itertools.izip(a1, a2):
if x[0] == y[0]:
ret = list(x)
ret.extend(y[1:])
yield ret
else:
continue
>>print list(gen(arr1, arr2))
[['2011-10-10', 1, 1, 3, 4]]
Но, если возможно, упорядочивайте свои данные по-разному.