Back to glossary

For Loop (Vyper Code Example)

Table of Contents

There are 2 ways to loop through an array, using range and directly looping through array elements.

# pragma version ^0.4.0

@external
@pure
def for_loop() -> DynArray[uint256, 10]:
    arr: DynArray[uint256, 10] = []

    for i: uint256 in range(5):
        arr.append(i)

    return arr

@external
@pure
def for_loop_start_end() -> DynArray[uint256, 10]:
    arr: DynArray[uint256, 10] = []

    for i: uint256 in range(5, 10):
        arr.append(i)

    return arr

@external
@pure
def for_loop_list() -> DynArray[uint256, 10]:
    arr: DynArray[uint256, 10] = []

    nums: uint256[4] = [11, 22, 33, 44]

    for i: uint256 in nums:
        arr.append(i)

    return arr

@external
@pure
def for_loop_skip() -> DynArray[uint256, 10]:
    arr: DynArray[uint256, 10] = []

    for i: uint256 in range(5):
        if i == 2:
            continue
        if i == 4:
            break
        arr.append(i)

    return arr

@external
@pure
def for_loop_bound(start: uint256, end: uint256) -> uint256:
  last: uint256 = start
  for i: uint256 in range(start, end, bound = 5):
    last = i
  return last

@external
@pure
def for_loop_bound_dyn_arr(xs: DynArray[uint256, 5]) -> uint256:
    last: uint256 = 0
    for i: uint256 in range(len(xs), bound = 3):
      last = i
    return last

@external
@pure
def sum(nums: uint256[10]) -> uint256:
    s: uint256 = 0
    for n: uint256 in nums:
        s += n
    return s

Related Terms

No items found.