Встречается на собеседованиях • сегодня
Можно ли передать односвязный список в функцию len в Python
Нет, стандартная функция len() в Python не будет работать с односвязным списком, реализованным вручную, так как она ожидает объект с определенным протоколом (например, __len__ методом). Для работы с односвязным списком нужно либо реализовать метод __len__ в классе списка, либо написать свою функцию для подсчета элементов.
Пример реализации односвязного списка с поддержкой len():
python
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def __len__(self):
count = 0
current = self.head
while current:
count += 1
current = current.next
return count
lst = LinkedList()
lst.head = Node(1)
lst.head.next = Node(2)
print(len(lst)) # 2
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы