builtin_reversed.py 723 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # test the builtin reverse() function
  2. try:
  3. reversed
  4. except:
  5. print("SKIP")
  6. raise SystemExit
  7. # list
  8. print(list(reversed([])))
  9. print(list(reversed([1])))
  10. print(list(reversed([1, 2, 3])))
  11. # tuple
  12. print(list(reversed(())))
  13. print(list(reversed((1, 2, 3))))
  14. # string
  15. for c in reversed('ab'):
  16. print(c)
  17. # bytes
  18. for b in reversed(b'1234'):
  19. print(b)
  20. # range
  21. for i in reversed(range(3)):
  22. print(i)
  23. # user object
  24. class A:
  25. def __init__(self):
  26. pass
  27. def __len__(self):
  28. return 3
  29. def __getitem__(self, pos):
  30. return pos + 1
  31. for a in reversed(A()):
  32. print(a)
  33. # user object with __reversed__
  34. class B:
  35. def __reversed__(self):
  36. return [1, 2, 3]
  37. print(reversed(B()))