我已经编写了一个 Python 脚本来解析大量数据并按照以下示例对其进行清理:
input_list = [[a,b,c,0.5], [a,b,d,1], [a,b,e,1], [a,b,c,0.3], [a,b,c,0.2], [a,b,f,0.6], [a,b,f,0.4], [a,b,g,1]]
output_list = [[a,b,c,1], [a,b,d,1], [a,b,e,1], [a,b,f,1], [a,b,g,1]]
所以基本上,如果每个列表的前 3 个元素相同,则只保留一个列表并将值(第 4 个元素)相加。
我使用了嵌套的“for”循环和许多“if”语句,但我想知道在 Python 中是否有更好的方法来执行此操作(最好是 v2)。
我在这里不是要代码,只是一些建议,以便我学习和改进我的代码。
干杯。
最佳答案
input_list = [['a','b','c',0.5], ['a','b','d',1], ['a','b','e',1], ['a','b','c',0.3], ['a','b','c',0.2], ['a','b','f',0.6], ['a','b','f',0.4], ['a','b','g',1]]
output_list = []
d = {}
for i in input_list:
key = (i[0], i[1], i[2])
d[key] = i[3] + (d[key] if key in d else float(0))
for k, v in d.iteritems():
output_list.append([
k[0], k[1], k[2], v
])
# print output_list
关于python - 如何合并嵌套列表元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122291/