我有一个如下所示的列表,并希望删除过去的日期或低于今天的日期。我是否需要if语句或是否有某种方式可以做到这一点?
q)d
1970.03.16 1980.03.17 1990.03.19 2000.03.13 2010.03.15
q)type d
14h
答案 0 :(得分:3)
您可以一起跳过该功能并以内联方式执行此操作。
在列表中查找日期大于今天(d>.z.D
)的索引,然后使用该列表从列表中提取项目(d where d>.z.D
)
q)d:1970.03.16 1980.03.17 1990.03.19 2020.03.13 2017.09.15
q)d>.z.D
00011b
q)d where d>.z.D
2020.03.13 2017.09.15
答案 1 :(得分:1)
我相信我明白了:
q)today:`date$.z.z
q)func:{[lst] lst where today<lst}
q)d
1970.03.16 1980.03.17 1990.03.19 2020.03.13 2017.09.15
q)func d
2020.03.13 2017.09.15