Пройти listnode в python

Может ли кто-нибудь помочь мне с тем, как я могу пройти через приведенный ниже listnode в 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

list1 - это просто список, поэтому вы перемещаетесь по нему по индексу. Я думаю, вы запутались с односвязными списками

Lancelot du Lac 22.03.2022 10:18

Вы случайно не работаете над сайтом с вызовами кода? Они могут сделать преобразование из списка в связанный список за кулисами. Не совсем понятно, что вы здесь спрашиваете. Как list1=[1,2,4] относится к разделу «команда»?

trincot 22.03.2022 11:20

Почему нет реакции на мой комментарий?

trincot 22.03.2022 11:51

Да, я работаю над сайтом с вызовами кода. На самом деле я не об этом спрашивал. В любом случае, я получил свой ответ Спасибо.

Vishwa Gandhi 22.03.2022 12:31
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
37
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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

Это не простой список. Это односвязный список. Можете ли вы сказать мне, как пройти через односвязный список?

Vishwa Gandhi 22.03.2022 11:42

list, указанный в вопросе, является просто стандартным list в python и является одним из основных типов данных (см. здесь: docs.python.org/3/tutorial/datastructures.html). singly-linked-list отличается от этого, и ссылка в ответе указывает на его использование.

D.L 22.03.2022 11:50
Ответ принят как подходящий

Чтобы получить вывод, который вы указали в конце своего вопроса, вам нужно создать связанный список. Например, если вы определяете следующий класс:

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]

односвязный список уже задан. Мне нужно пройти через него и распечатать значения в списке. Вы можете помочь мне с этим?

Vishwa Gandhi 22.03.2022 11:45

В вашем вопросе у вас нет данного связанного списка. У вас есть простой список [1,2,4]. Это та часть, которая не ясна в вашем вопросе. Я добавил раздел в свой ответ.

trincot 22.03.2022 11:46

Другие вопросы по теме