170 похожих чатов

Я правильно понял, что объекты имеющие только дандер __getitem__ будут

являться iterable?

20 ответов

5 просмотров

да

Важно, чтобы getitem работал с последовательными целочисленными индексами, начиная с нуля. Это не всегда так.

w9i- Автор вопроса
evle
Важно, чтобы getitem работал с последовательными ц...

К примеру я могу сделать LinkedList с перегрузкой гетитем который будет выдавать следющую ноду

w9i- Автор вопроса
w9i
К примеру я могу сделать LinkedList с перегрузкой ...

Это ж нелогично. Для связного списка итератор с некстом элементарнее реализуеется, а getitem - как?

w9i- Автор вопроса
evle
Это ж нелогично. Для связного списка итератор с не...

типо в цикле крутишь узлы пока не совпадет с индексом гетитем

w9i- Автор вопроса
evle
Это ж нелогично. Для связного списка итератор с не...

Для меня на этом этапе изучения - странное заявление - что объекты имеющие только гетитем тоже итерабле - проверить пока не в состоянии, не дорос.

evle
Это ж нелогично. Для связного списка итератор с не...

гетитем для связного списка можно делать циклом или рекурсией на каждое обращение 8)

w9i
Для меня на этом этапе изучения - странное заявлен...

Сейчас это +- бесполезно, примеров практического использования практически нету

w9i
Для меня на этом этапе изучения - странное заявлен...

А что там проверять? Класс с одним гетитемом, внутрь что-нибудь - и итерируйся.

Ты часто пишешь итерейблы на гетайтеме?

w9i- Автор вопроса
Farel
Ты часто пишешь итерейблы на гетайтеме?

вопрос не о том что часто пишешь или не пишешь а понять как все это работает и почему чтобы иметь понимание

w9i
К примеру я могу сделать LinkedList с перегрузкой ...

и правда работает (интересно можно ли не обходить каждый раз наверно это решается только yield то есть стандартным iter) class Node: def __init__(self, val, next=None): self.val = val self.next = next class Linked: def __init__(self): self.root = Node(0) self.len = 1 cur = self.root for i in range(11): next = Node(i) self.len += 1 cur.next = next cur = next def __getitem__(self, key): if key >= self.len: raise StopIteration cur = self.root for _ in range(key): cur = cur.next return cur l = Linked() for n in l: print(n.val)

w9i- Автор вопроса
Сергей
и правда работает (интересно можно ли не обходить ...

В том и дело, что linked list - ужасный вариант, где такое можно было бы применить.

Похожие вопросы

Обсуждают сегодня

У меня такой вопрос. Вот мне нужно сделать бинарный файл с ассемблер кода: [bits 32] [org 0x7c00] start: cli mov esp, stack_space call _main hlt section .tex...
Dmytro Parkhomenko
26
@FAssembler не знаешь, fasm поддерживает thumb?
Александр Белокопытов
46
Вот сравним знания, которые требуются, чтобы знать все эти условности С компилятора, и знания, которые требуются чтобы писать программы на ассемблере. Что проще?
КТ315
23
Фуух, победила раскраску. Ну почти) Кому что посчитать? )))
Катерина Свиридова
17
model small .stack 256 .data arr db 16 dup(?) mes db 10, 13, "Enter 16 numbers: $" mes1 db " $" mes2 db 10, 13, "Sorted: $" mes3 db 10, 13, "$" i db 0 .code ...
Ыиу
42
Ребят нубский вопрос, но я в поиске чата не нашел ничего об этом. Установил я clang, Code-Blocks ( который с wingw). Пытаюсь запустить свой хелловорлд, а мне пишет fatal error...
Дима Копышов
15
При чем здесь DLL?
Marek Kotovsky
40
Снова этот оффтоп про С... В чате С не говорят столько про ассемблер, сколько в чате по ассемблеру говорят про С. Не стыдно?
КТ315
45
Привет. а как можно получить, название ресурса когда мы удаляем из избранного (название удаленного), получаю я так if($response['instance'] == 'wishlist' ) { $cart = ci...
Вадим
2
А существует версия rcpss для чисел двойной точности? А то я ток для одинарной точности значения нашел😔
The Bird of Hermes
6
Карта сайта