在 python 中遍历列表节点
traverse listnode in python
有人可以帮助我如何遍历 python 中的给定列表节点。我已经写了这个命令并得到了这样的输出。
list1=[1,2,4]
命令:-
print(list1)
print(list1.val)
print(list1.next.val)
输出:-
ListNode{val: 1, next: ListNode{val: 2, next: ListNode{val: 4, next: None}}}
1
2
如评论中所述,您似乎混淆了 list
和 singly linked list
。
使用提供的列表,您只需像这样使用 for loop
进行迭代:
list1=[1,2,4]
for L in list1:
print(L)
给出输出:
1
2
4
链表可以参考这个:
https://www.tutorialspoint.com/python_data_structure/python_linked_lists.htm
要获得问题末尾列出的输出,您需要创建一个链表。例如,如果您定义以下 class:
class ListNode:
def __init__(self, val, nxt=None):
self.val = val
self.next = nxt
def __repr__(self):
return f"ListNode{{val: {self.val}, next: {self.next}}}"
然后如果您定义 list1
如下:
list1 = ListNode(1, ListNode(2, ListNode(4, None)))
然后“命令”将给出您列出的输出。
列表到链表
如果要从列表[1,2,4]创建上面的链表,那么使用这个函数:
def createLinkedList(values):
head = None
for val in reversed(values):
head = ListNode(val, head)
return head
现在您可以将普通列表转换为链表,如下所示:
list1 = createLinkedList([1,2,4])
链表到列表
如果你想反其道而行之,从一个链表创建一个标准列表,那么定义这个函数:
def linkedListIterator(head):
while head:
yield head.val
head = head.next
现在,如果你有一个链表,你可以将它传递给上面的函数。例如:
list1 = createLinkedList([1,2,4])
lst = list(linkedListIterator(list1))
lst
将是 [1,2,4]
有人可以帮助我如何遍历 python 中的给定列表节点。我已经写了这个命令并得到了这样的输出。
list1=[1,2,4]
命令:-
print(list1)
print(list1.val)
print(list1.next.val)
输出:-
ListNode{val: 1, next: ListNode{val: 2, next: ListNode{val: 4, next: None}}}
1
2
如评论中所述,您似乎混淆了 list
和 singly linked list
。
使用提供的列表,您只需像这样使用 for loop
进行迭代:
list1=[1,2,4]
for L in list1:
print(L)
给出输出:
1
2
4
链表可以参考这个: https://www.tutorialspoint.com/python_data_structure/python_linked_lists.htm
要获得问题末尾列出的输出,您需要创建一个链表。例如,如果您定义以下 class:
class ListNode:
def __init__(self, val, nxt=None):
self.val = val
self.next = nxt
def __repr__(self):
return f"ListNode{{val: {self.val}, next: {self.next}}}"
然后如果您定义 list1
如下:
list1 = ListNode(1, ListNode(2, ListNode(4, None)))
然后“命令”将给出您列出的输出。
列表到链表
如果要从列表[1,2,4]创建上面的链表,那么使用这个函数:
def createLinkedList(values):
head = None
for val in reversed(values):
head = ListNode(val, head)
return head
现在您可以将普通列表转换为链表,如下所示:
list1 = createLinkedList([1,2,4])
链表到列表
如果你想反其道而行之,从一个链表创建一个标准列表,那么定义这个函数:
def linkedListIterator(head):
while head:
yield head.val
head = head.next
现在,如果你有一个链表,你可以将它传递给上面的函数。例如:
list1 = createLinkedList([1,2,4])
lst = list(linkedListIterator(list1))
lst
将是 [1,2,4]