python3 对象赋值问题

class ListNode:
def init(self, val=0, next=None):
self.val = val
self.next = next

listA = eval(input())
list1 = temp1 = ListNode()

count=0
for i in listA:

temp1.val = i
print(list1.val,temp1.val,'temp1')
temp1.next = ListNode()

while list1:
print('H',list1.val)
list1=list1.next

输入[1,2,3]

输出
1 1 temp1
2 2 temp1
3 3 temp1
H 3
H 0

请问下结果为什么 不是 1 2 3 0的输出

因为你的temp1始终指向链表的第一个元素,没有移动。要给for循环加一行

for i in listA:
    temp1.val = i
    print(list1.val,temp1.val,'temp1')
    temp1.next = ListNode()
    temp1 = temp1.next