#python
Вопрос:
Предполагается, что функция добавляет значение в индекс в списке, но я не получаю вывод, который показывает это.
Мой вывод <основной.Соедините объект пары по адресу 0x000001B458BF8460>, но вывод должен быть [1, «привет», 2, 3]. Я что-то сделал не так со своим Парным классом?
from __future__ import annotations from typing import Any, Optional class Pair: def __init__(self, first: any, rest: Optional[Pair]) -> None: self.first = first self.rest = rest LinkedList = Optional[Pair] def add(lst: LinkedList, index: int, value: Any) -> LinkedList: if index == 0: return Pair(value, lst) if lst is None: raise IndexError return Pair(lst.first, add(lst.rest, index - 1, value)) lst = Pair([1, 2, 3], None) index = 1 value = "hi" print(add(lst, index, value))
Комментарии:
1. Вам просто нужно определить
__str__
метод tje в своемPair
классе. Без этого python использует значение по умолчанию, которое выводит тип и адрес памяти значения