我有一份房屋清单:
list1 = [home1, home2, home3, home4]
我还有另一份具体房屋清单:
list2 = [ home6, home7, home8, home10]
每个家都有一块田地date
.我想插入List2
into list1
根据home.date
例如如果home7.date < home1.date
, so home7
将被插入到list1
before home1
我尝试使用两个for循环,但似乎很慢,而且有很多计算是由CPU完成的
for el in list1:
for elt2 in list2:
if el.date > elt2.date:
list1.insert((list1.index(el)),elt2)
PS:有些日期尚未确定,因此有一个None
值并且我不想更改对应的索引home
in list1
有任何想法吗 ?
首先:在迭代列表(或字典、集合等)时修改它通常是一个非常糟糕的主意。
在您的情况下,最简单的解决方案可能是先合并两个列表,然后使用key
打回来:
list1.extend(list2)
list1.sort(key=lambda x: x.date)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)