Есть ли способ создать «срезное представление» последовательности в Python 3, которая ведет себя как обычный срез, но не создает копию нарезанной части последовательности? Когда исходная последовательность обновляется, «представление среза» должно отражать обновление.Python ломтик без копии?
>>> l = list(range(100))
>>> s = Slice(l, 1, 50, 3) # Should behave like l[1:50:3]
>>> s[1]
4
>>> l[4] = 'foo'
>>> s[1] # Should reflect the updated value
'foo'
я могу написать свой собственный Slice
класс, который делает это, но я хотел бы узнать, есть ли встроенный способ.
Связанный - http://stackoverflow.com/questions/3485475/can-i-create-a-view-on-a-python-list Не уверен, что что-то имеет приходить в но не голосование, чтобы закрыть как дубликат :-) –
Не могли бы вы указать, какие ответы вы ожидаете, кроме предоставленных в связанном вопросе: пользовательский класс Slice, numpy, memoryview, generator (iterator)? – jfs