python for if one liner
我有个问题 我想让我的代码简单易懂 我试图从数据python for if one liner,python,one-liner,Python,One Liner,我有个问题 我想让我的代码简单易懂 我试图从数据x中获取下一个日期的值 这是我的密码。 有没有办法使用lambda或map将其缩短 def nextDay(date,x,time=1): res, c = None, 0 while c<time: temp = iter(x) for key in temp: if key == date: res = ne
x
中获取下一个日期的值
这是我的密码。
有没有办法使用lambda或map将其缩短
def nextDay(date,x,time=1):
res, c = None, 0
while c<time:
temp = iter(x)
for key in temp:
if key == date:
res = next(temp, None)
date = res
c+=1
return res
x = {'2020-01-11': 3.4, '2020-01-13': 4.1, '2020-02-02': 4.1 }
print(x[nextDay('2020-01-11', x, time=1)])
只需搜索给定日期,然后读取下一个
时间
日期,而不是浏览日期时间
时间,并始终只前进一个日期
def nextDay(date, x, time=1):
it = iter(x)
date in it
for _ in range(time):
date = next(it, None)
return date
或与:
您能否给出输入和预期输出数据的示例?因此,当您使用
'2020-01-12'
搜索示例时,您希望代码崩溃?
def nextDay(date, x, time=1):
it = iter(x)
date in it
for _ in range(time):
date = next(it, None)
return date
def nextDay(date, x, time=1):
it = iter(x)
date in it
return next(islice(it, time - 1, None), None)