【发布时间】:2021-08-23 06:16:53
【问题描述】:
将子列表的元素与另一个不重复的子列表合并
我正在努力解决车辆路线问题并获得最初的最佳解决方案,我希望被利用并且需要在合并它们时摆脱重复节点。 我的问题我想将元素 [8] 的子列表与其他带有等于 3 个元素的条件的子列表合并,但是因为有两个集合包含 3 个元素,例如 [18, 22, 34, 8], [35, 36, 37 , 8] 我需要将元素 8 随机集成到其中一个中
bestsolution= [[22, 15, 20, 2, 32, 30, 4, 17], [27, 8, 9, 14, 33, 21, 5, 13], [26, 28, 6, 31, 11], [18,22,34],[35,36,37],[8]]
for a in bestsolution:
if len(a)==1:
p=a
del bestsolution[-1]
for b in bestsolution:
if len(b)==2:
b.extend(p)
print("p",b)
print("bestsolution1-2",bestsolution)
elif len(b)==3:
b.extend(p)
print("p",b)
print("bestsolution1-3",bestsolution)
my results:
p [18, 22, 34, 8]
bestsolution1-3 [[22, 15, 20, 2, 32, 30, 4, 17], [27, 8, 9, 14, 33, 21, 5, 13], [26, 28, 6, 31, 11], [18, 22, 34, 8], [35, 36, 37]]
p [35, 36, 37, 8]
bestsolution1-3 [[22, 15, 20, 2, 32, 30, 4, 17], [27, 8, 9, 14, 33, 21, 5, 13], [26, 28, 6, 31, 11], [18, 22, 34, 8], [35, 36, 37, 8]]
对于每个运行程序,我同时得到两个结果,所以如何拒绝第二个解决方案。
'''
code targeted:
bestsolution1-3 [[22, 15, 20, 2, 32, 30, 4, 17], [27, 8, 9, 14, 33, 21, 5, 13], [26, 28, 6, 31, 11], [18, 22, 34], [35, 36, 37, 8]]
'''
谢谢
【问题讨论】:
-
什么是“车辆路径问题”? “被剥削”是什么意思?
-
“车辆路线问题”是指我工作的领域,“开发”的意思是投资最好的解决方案来改进它。
-
如果其中任何一项与理解您的问题相关,您应该更明确地了解它们的实际含义,在问题中。如果他们不是,那么他们根本不应该被包括在内。即使你在下面回答,我仍然不知道你在问什么。您似乎在代码块中包含了许多不是代码的行,我不明白它们的用途。您希望尽可能明确和清楚地了解您实际遇到的问题,以便其他人能够理解和帮助!但很高兴你似乎已经把它整理好了 =)
标签: python-3.x if-statement nested extend del