创建新列表

时间:2017-03-18 15:10:53

标签: python list python-3.x

我希望我的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

我希望你能帮忙,谢谢

1 个答案:

答案 0 :(得分:1)

试试这个:

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

如果你的两个对象长度不同,你可以在你的代码中添加一个判断语句。就像这样:

items