Back to glossary

Dynamic Arrays (Vyper Code Example)

Table of Contents

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

Related Terms

No items found.