Dynamic Arrays

Dynamic arrays are bounded arrays whose length can change. The length of the array cannot exceed the maximum length set where the array is declared.

# pragma version ^0.4.0

# Dynamic array of type uint256, max 3 elements
nums: public(DynArray[uint256, 3])

@deploy
def __init__():
    self.nums.append(11)
    self.nums.append(22)
    self.nums.append(33)
    # This will revert (Appending to array with max 3 elements)
    # self.nums.append(44)

    # Remove last element
    self.nums.pop()

    # Delete all elements
    self.nums = []
    # Set values
    self.nums = [1,2,3]

@external
@pure
def examples(xs: DynArray[uint256, 5]) -> DynArray[uint256, 8]:
    ys: DynArray[uint256, 5] = [1,2,3]
    # Copy xs into ys
    for x: uint256 in xs:
        ys.append(x)
    return ys

@external
@pure
def filter(addrs: DynArray[address, 5]) -> DynArray[address, 5]:
    nonzeros: DynArray[address, 5] = []
    for addr: address in addrs:
        if addr != empty(address):
            nonzeros.append(addr)
    return nonzeros

Try on Smart Contract Engineer