我有一个“日期”列表:
['2017-04-30',
'2012-09-30',
'2016-09-30',
'2012-10-31']
和一系列,'AAPL':
2012-04-30 1170.294527
2012-05-31 1528.785307
2012-06-30 1525.203742
2012-07-31 1408.036492
...
2017-07-31 1830.33231
我正在尝试为列表中的每个给定日期选择接下来的三个日期。例如。对于“日期”中的“2017-04-30”,我想从系列中选择“2017-05-31”,“2017-06-30”和“2017-07-31”。
我的预期输出是选择能够选择列表中日期之后的系列中的3个日期。
答案 0 :(得分:0)
第一:
E.g。对于“日期”中的“2017-04-30”,我想从系列中选择“2017-05-31”,“2017-06-30”和“2017-07-31”。
但你没有'2017-04-30'系列。但没关系。 例如,如果您未设置任何情况:
dates = [
'2017-04-30',
'2012-09-30',
'2016-09-30',
'2012-10-31'
]
series = [
'2017-04-30 1170.294527',
'2017-05-31 1528.785307',
'2017-06-30 1525.203742',
'2017-07-31 1408.036492'
]
for d in dates:
for i, s in enumerate(series):
if s.split(' ')[0] == d:
print('{}: {}'.format(d, list([m for m in series])[i:i + 3]))
这可以满足您的需求。 没有系列阵列边框,考虑。 即
series = [
'2017-04-30 1170.294527',
'2017-05-31 1528.785307',
'2017-06-30 1525.203742',
'2017-07-31 1408.036492'
]
输出将是
2017-04-30: ['2017-05-31 1528.785307', '2017-06-30 1525.203742', '2017-07-31 1408.036492']
代表
series = [
'2017-05-31 1528.785307',
'2017-06-30 1525.203742',
'2017-04-30 1170.294527',
'2017-07-31 1408.036492'
]
输出将是
2017-04-30: ['2017-07-31 1408.036492']
和
series = [
'2017-05-31 1528.785307',
'2017-06-30 1525.203742',
'2017-07-31 1408.036492',
'2017-04-30 1170.294527'
]
输出将是
2017-04-30: []
答案 1 :(得分:0)
我假设你的两个输入都是日期字符串列表。
spyOn(component, 'someMethod');