我有一个日期列表
dates = [date1, date2, date3, date4, ...]
例如,每个日期的格式为“2010-01-01”
我想创建一个数组:
ranges = [date1+'-'+date2, date2+'-'+date3, date3+'-'+date4,...]
我可以用一个抛出错误的 for 循环来得到它:
ranges = []
for i, t in enumerate(result):
ranges.append(t+"-"+result[i+1])
这显然在最后的 i 处崩溃了,因为我引用的是 i+1。我想不出如何巧妙地做到这一点。
请您参考如下方法:
my_ranges = []
for i range(len(dates)-1): #go til the second to last element
my_ranges.append(dates[i] + "-" + dates[i+1])
或者如果你想用列表理解在一行中完成:
my_ranges = ["-".join( (dates[i],dates[i+1])) for i in range(len(dates)-1)]
使用 zip 和 map 甚至更短。
map("-".join, zip(dates, dates[1:]))
