У меня есть большой список l
. Я хочу создать представление из элементов с 4 по 6. Я могу сделать это с помощью фрагмента последовательности.
>>> l=range(10)
>>> lv=l[3:6]
>>> lv
[3, 4, 5]
Однако lv является копией фрагмента l. Если я изменю базовый список, lv не отражает изменения.
>>> l[4] = -1
>>> lv
[3, 4, 5]
И наоборот, я хочу, чтобы модификация на lv отражалась и в l. Кроме того, размер списка не будет изменен.
Я не собираюсь создавать большой класс для этого. Я просто надеюсь, что другие гуру-питоны могут знать какой-то скрытый языковой трюк. В идеале я надеюсь, что он может любить арифметику указателя в C.
int lv[] = l + 3;