Skip to main content
 首页 » 编程设计

Python 将元素 i 与 i+1 连接起来

2025年05月04日14lyhabc

我有一个日期列表

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:]))