我一直在尝试对列表进行“聚合”
我的意思是根据中间的项将项目组合在一起,因此当围绕任何一个
'-'
时,['d','-','g','p','q','-','a','v','i']
变成['d-g','p','q-a','v','i']
以下是我的尝试:
def clump(List):
box = []
for item in List:
try:
if List[List.index(item) + 1] == "-":
box.append("".join(List[List.index(item):List.index(item)+3]))
else:
box.append(item)
except:
pass
return box
然而,它输出的结果(针对上面的示例)为:
['d-g', '-', 'g', 'p', 'q-a', '-', 'a', 'v']
由于我不知道如何跳过接下来的两个项目,因此代码非常混乱,主要是由于try和except语句(如果不使用它,当它到达最后一个项目时,会出现IndexError)。
如何修复它(或完全重写)?
谢谢