def setComponentByPosition(self, idx, value=noValue,<EOL>verifyConstraints=True,<EOL>matchTags=True,<EOL>matchConstraints=True):
oldIdx = self._currentIdx<EOL>Set.setComponentByPosition(self, idx, value, verifyConstraints, matchTags, matchConstraints)<EOL>self._currentIdx = idx<EOL>if oldIdx is not None and oldIdx != idx:<EOL><INDENT>self._componentValues[oldIdx] = noValue<EOL><DEDENT>return self<EOL>
Assign |ASN.1| type component by position.

        Equivalent to Python sequence item assignment operation (e.g. `[]`).

        Parameters
        ----------
        idx: :class:`int`
            Component index (zero-based). Must either refer to existing
            component or to N+1 component. In the latter case a new component
            type gets instantiated (if *componentType* is set, or given ASN.1
            object is taken otherwise) and appended to the |ASN.1| sequence.

        Keyword Args
        ------------
        value: :class:`object` or :py:class:`~pyasn1.type.base.PyAsn1Item` derivative
            A Python value to initialize |ASN.1| component with (if *componentType* is set)
            or ASN.1 value object to assign to |ASN.1| component. Once a new value is
            set to *idx* component, previous value is dropped.

        verifyConstraints : :class:`bool`
            If `False`, skip constraints validation

        matchTags: :class:`bool`
            If `False`, skip component tags matching

        matchConstraints: :class:`bool`
            If `False`, skip component constraints matching

        Returns
        -------
        self