我正在尝试获取当前列表列表(日期和值)的最近日期列表
有两个清单:
[["20160901", 0.244], ["20160902", 0.232], ["20160906", 0.214],
["20160909", 0.235], ["20160910", 0.244], ["20160911", 0.271],
["20160912", 0.239], ["20160914", 0.25], ...]
长度是X
和
[["20160907", -9.39979076385498, -6.318868160247803],
["20160913", -10.568793296813965, -6.815752029418945], ... ]
长度是Y
需要获得长度为Y的第一个列表和第二个列表的最近日期。
e.g。
[["20160906", 0.214], ["20160912", 0.239], ...]
这是我的代码:
def nearest_date(dates, pivot):
return min(dates, key=lambda x: abs(x - pivot))
但是我列出了不同大小的列表。
答案 0 :(得分:-1)
list_dates = [["20160901", 0.244], ["20160902", 0.232], ["20160906", 0.214],
["20160909", 0.235], ["20160910", 0.244], ["20160911", 0.271],
["20160912", 0.239], ["20160914", 0.25]]
list_comp = [["20160907", -9.39979076385498, -6.318868160247803],
["20160913", -10.568793296813965, -6.815752029418945]]
[ min(list_dates, key = lambda x: abs(int(x[0])-int(p[0]))) for p in list_comp ]
结果:
[['20160906', 0.214], ['20160912', 0.239]]