gpt4 book ai didi

python - 如果键为空则拆分元组并将对应值添加到其先前的元组值

转载 作者:行者123 更新时间:2023-11-30 22:50:26 25 4
gpt4 key购买 nike

这里我有一个元组列表,每当键为空时我想将对应值添加到其先前的元组值。

我可以用传统的方式实现这一点,但它看起来很难看,有没有什么Pythonic方法可以达到同样的效果?

输入:

data= [('A', 12), ('', 1), ('B', 12), ('', 1), ('C', 12), ('', 1), ('D', 13)]

预期输出:

[13, 26, 39, 52]

我的代码:

data = [('A', 12), ('', 1), ('B', 12), ('', 1), ('C', 12), ('', 1), ('D', 13)]
init = 0 ; splitdata = []
for i in data:
init = init+i[1]
if i[0] == '':
splitdata.append(init)
splitdata.append(init)
print(splitdata)
[13, 26, 39, 52]

最佳答案

reduce(
lambda lst,item: (((item[0] != '') and lst) or lst[:-1]) + [lst[-1] + item[1]],
colLabelGrouped[1:],
[colLabelGrouped[0][1]] )

这种减少...

  • 从包含 colLabelGrouped 中第一项的值的初始列表开始,然后
  • colLabelGrouped 中的剩余项目减少...
    • 将每个项目的值依次添加到正在生成的列表的最后一个元素...
      • 完整列表(如果项目的键不为空)或
      • 列表减去最后一个元素(如果项目的键为空)。

关于python - 如果键为空则拆分元组并将对应值添加到其先前的元组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39350496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com