我希望我的L3链表像这样交替L1和L2的值
1,11,2,12,3,13,4,14
我尝试了下面的代码,但我认为L3列表在每次迭代时都会重置(“ p3 = Cellule(p1.entier)”行),我找不到创建L3的方法来解决我的问题。
class Cellule(object):
def __init__(self, entier):
self.entier=entier
self.suiv=None
L1=Cellule(1)
L1.suiv=Cellule(2)
L1.suiv.suiv=Cellule(3)
L1.suiv.suiv.suiv=Cellule(4)
L2=Cellule(11)
L2.suiv=Cellule(12)
L2.suiv.suiv=Cellule(13)
L2.suiv.suiv.suiv=Cellule(14)
p1=L1
p2=L2
L3=Cellule(0)
p3=L3
while p1.suiv!=None:
p3=Cellule(p1.entier)
p3=p3.suiv
p3=Cellule(p2.entier)
p2=p2.suiv
p1=p1.suiv
p4=L3
while p4.suiv!=None:
print(p4.entier)
p4=p4.suiv
希望您能提供帮助,谢谢
最佳答案
尝试这个:
class Cellule(object):
def __init__(self, entier):
self.entier=entier
self.suiv=None
L1=Cellule(1)
L1.suiv=Cellule(2)
L1.suiv.suiv=Cellule(3)
L1.suiv.suiv.suiv=Cellule(4)
L2=Cellule(11)
L2.suiv=Cellule(12)
L2.suiv.suiv=Cellule(13)
L2.suiv.suiv.suiv=Cellule(14)
p1=L1
p2=L2
L3=Cellule(0)
p3=L3
while 1:
p3.suiv = Cellule(p1.entier)
p3 = p3.suiv
p3.suiv = Cellule(p2.entier)
p3 = p3.suiv
p2 = p2.suiv
p1 = p1.suiv
if p1 == None and p2 == None: # I assume that your two objects are the same length
break
p4 = L3.suiv
while p4:
print(p4.entier)
p4 = p4.suiv
如果两个对象的长度不同,则可以在代码中添加一个判断语句,例如:
while 1:
if p1:
p3.suiv = Cellule(p1.entier)
p3 = p3.suiv
p1 = p1.suiv
if p2:
p3.suiv = Cellule(p2.entier)
p3 = p3.suiv
p2 = p2.suiv
if p1 == None and p2 == None:
break