我正在迭代包含约 500.000 个子列表的 10-20 个长列表的集合。列表如下所示:
A = [['a', 'b', 1.7], ['d', 'e', 6.2] ...]
B = [['a', 'b', 2.0], ['d', 'e', 10.0] ...]
C = [['a', 'b', 3.0], ['d', 'e',7.0] ...]
等等......我的目标是在最后获得一个列表,如下所示:
final = [['a', 'b', 1.7, 2.0, 3.0], ['d', 'e', 6.2, 6.2, 10.0, 7.0] ...]
我已经通过将模板列表(例如 A)与包含所有列表值(总计)的列表进行比较来使用嵌套循环:
total =[['a', 'b', 1.7], ['d', 'e', 6.2], ['a', 'b', 2.0], ['d', 'e', 10.0], ['a', 'b', 3.0], ['d', 'e',7.0]]
temp = []
for i in A:
new = [i[0:1]]
for j in total:
if i[0] == j[0]:
new.append(j[2])
temp.append(new)
除了初始字符串包含在子列表中之外,我得到的东西接近我正在寻找的东西。但这在以后很容易解决。这种方法的问题是考虑到列表的大小,完整的过程需要大量的时间。任何缩短此过程的替代建议或提示将不胜感激。