fork download
  1. a = [ 1, 2, 3]
  2. b = a[1:]
  3.  
  4. print("Exemplo1...")
  5. print("Antes da modificação a[1] = 'teste':")
  6. print(*b)
  7. a[1] = "teste"
  8. print("\nApós modificação a[1] = 'teste':")
  9. print(*b)
  10.  
  11. print("Exemplo2...")
  12. from collections.abc import Sequence
  13.  
  14. class BasicListView(Sequence):
  15. def __init__(self, seq, start=0, stop=None, step=1):
  16. self._seq = seq
  17. self._start = start
  18. self._stop = len(seq)-1 if stop is None else stop
  19. self._step = step
  20.  
  21. def __len__(self):
  22. return (self._stop - self._start) // self._step
  23.  
  24. def __getitem__(self, key):
  25. k = self._step * key + self._start
  26. return self._seq[k]
  27.  
  28.  
  29. a = [ 1, 2, 3]
  30. b = BasicListView(a,1,3)
  31.  
  32. print("Antes da modificação a[1] = 'teste':")
  33. print(*b)
  34. a[1] = "teste"
  35. print("\nApós modificação a[1] = 'teste':")
  36. print(*b)
Success #stdin #stdout 0.02s 9308KB
stdin
Standard input is empty
stdout
Exemplo1...
Antes da modificação a[1] = 'teste':
2 3

Após modificação a[1] = 'teste':
2 3
Exemplo2...
Antes da modificação a[1] = 'teste':
2 3

Após modificação a[1] = 'teste':
teste 3