diff --git a/src/builtins.h b/src/builtins.h index 0dde0346..838d9eb9 100644 --- a/src/builtins.h +++ b/src/builtins.h @@ -44,6 +44,12 @@ def any(iterable): return True return False +def enumerate(iterable, start=0): + n = start + for elem in iterable: + yield n, elem + n += 1 + def sum(iterable): res = 0 for i in iterable: diff --git a/tests/_builtin_ty.py b/tests/_builtin_ty.py index cc87da7e..7e69b01b 100644 --- a/tests/_builtin_ty.py +++ b/tests/_builtin_ty.py @@ -199,3 +199,6 @@ assert all([True, 1]) assert not all([False]) assert not all([True, False]) assert not all([False, False]) + +assert list(enumerate([1,2,3])) == [(0,1), (1,2), (2,3)] +assert list(enumerate([1,2,3], 1)) == [(1,1), (2,2), (3,3)] \ No newline at end of file