str我有一个和元素列表int,如下所示
L = [1, "a", "b", 1, 2, 1, "d", 1, "e", 4, 5, "f", "g", 2]
Run Code Online (Sandbox Code Playgroud)
我想总结两个字符串元素之间找到的数字,因此预期的输出结果如下。
[1, "a", "b", 4, "d", 1, "e", 9, "f", "g", 2]
Run Code Online (Sandbox Code Playgroud)
我想以Pythonic的方式解决这个问题。如何做到这一点?
一种可以说更干净的方法是尝试将当前项目添加到最后一项,并在失败时默认附加该项目:
output = []
for i in L:
try:
output[-1] += +i
except (TypeError, IndexError):
output.append(i)
Run Code Online (Sandbox Code Playgroud)
output变成:
[1, 'a', 'b', 4, 'd', 1, 'e', 9, 'f', 'g', 2]
Run Code Online (Sandbox Code Playgroud)