我有如下所示的results 字典和解决方案列表,并使用嵌套技术对解决方案list []中的每一次迭代中的需求进行求和,得到了一些结果,但根据字典中的要求,我尝试了大量的时间将解决列表的需求求和为(2-24, 28-5 , 8-3,7-4 and 18-6)。
demand= {1: 0, 2: 5, 3: 23, 4: 14, 5: 13, 6: 8, 7: 18, 8: 19, 9: 10, 10: 18, 11: 20, 12: 5, 13: 9, 14: 23, 15: 9, 16: 18, 17: 10, 18: 24, 19: 13, 20: 14, 21: 8, 22: 10, 23: 19, 24: 14, 25: 13, 26: 14, 27: 2, 28: 23, 29: 15, 30: 8, 31: 20, 32: 24, 33: 3}
solution=[[2, 22, 15, 20, 12, 19, 29, 24], [28, 26, 31, 11, 13, 5], [8, 27, 9, 14, 33, 21, 3], [7, 25, 23, 16, 17, 4], [18, 10, 30, 32, 6]]代码:
for i in solution:
print(i)
for j in i:
print(demand[j])结果:
[2, 22, 15, 20, 12, 19, 29, 24]
5
10
9
14
5
13
15
14
[28, 26, 31, 11, 13, 5]
23
14
20
20
9
13
[8, 27, 9, 14, 33, 21, 3]
19
2
10
23
3
8
23
[7, 25, 23, 16, 17, 4]
18
13
19
18
10
14
[18, 10, 30, 32, 6]
24
18
8
24
8我的问题是如何在第一次迭代(5 10 9 14 5 13 15 14)中求和,我需要将和放在同一位置,在第二次迭代(23-13 )中,以及与其他值相同的方法。
发布于 2021-04-10 11:50:04
经过多次尝试,我得到了以下最佳结果:代码: demand= {1: 0,2: 5,3: 23,4: 14,5: 13,6: 8,7: 18,8: 19,9: 10,10: 18,11: 20,12: 5,13: 9,14: 23,15: 9,16: 18,17: 10,18: 24,19: 13,20: 14,21: 8,22: 10,23: 19,24: 14,25: 13,26: 14,27: 2,28: 23,solution=[2,22,15,20,12,19,29,24,28,26,31,11,13,5,8,27,9,14,33,21,3,7,25,23,16,17,4,18,10,30,32,6] solution=[2,22,15,20,12,19,29,24,28,26,31,11,13,5,8,27,9,14,33,21,3,7,25,23,16,17,4,18,10,30,32,6] i: print(i) s=[] in j: print(demandj) s.append(demandj)打印(“总需求”,sum(s))
答覆: 2、22、15、20、12、19、29、24 5 10 9 14 13 15 14总需求85 28、26、31、11、13、5 23 14 20 20 9 13要求99 8、27、9、14、33、21、3 19 2 10 23 3 8 23
https://stackoverflow.com/questions/67032532
复制相似问题