История изменений
Исправление
tz4678,
(текущая версия)
:
А что касается связанных списков, то у них есть методы типа insertAfter, insertBefore. Для чего? - Например, для хранения чего-то типа списка дочерних элементов ноды DOM-дерева. И возвращаясь к скриптухе, моим любимым языкам, то опять же в питоне можно и списками обойтись:
In [14]: def insert_before(lst, el, v):
...: p = lst.index(el)
...: assert p != -1, 'Not Found'
...: return lst[:p] + [v] + lst[p:]
...:
In [15]: a = ['foo', 'bar', 'baz']
In [16]: insert_before(a, 'bar', 'quix')
Out[16]: ['foo', 'quix', 'bar', 'baz']
Исправление
tz4678,
:
А что касается связанных списков, то у них есть методы типа insertAfter, insertBefore. Для чего? - Например, для хранения чего-то типа списка дочерних элементов тега. И возвращаясь к скриптухе, моим любимым языкам, то опять же в питоне можно и списками обойтись:
In [14]: def insert_before(lst, el, v):
...: p = lst.index(el)
...: assert p != -1, 'Not Found'
...: return lst[:p] + [v] + lst[p:]
...:
In [15]: a = ['foo', 'bar', 'baz']
In [16]: insert_before(a, 'bar', 'quix')
Out[16]: ['foo', 'quix', 'bar', 'baz']
Исходная версия
tz4678,
:
А что касается связанных списков, то у них есть методы типа insertAfter, insertBefore. Для чего? - Например, для хранения чего-то типа списка дочерних элементов тега. И возвращаясь к скриптухе, моим любимым языкам, то опять же в питоне можно и списками обойтись:
In [14]: def insert_before(lst, el, v):
...: p = lst.index(el)
...: assert p != -1, 'Not Found'
...: return lst[:p] + [v] + lst[p:]
...:
In [15]: a = ['foo', 'bar', 'baz']
In [16]: insert_after(a, 'bar', 'quix')
Out[16]: ['foo', 'quix', 'bar', 'baz']