picop.cysequence#

Sequence protocol helpers.

picop.cysequence.seq_check(o)#

Return True if o supports the sequence protocol (PySequence_Check). :type o: object :param o:

Return type:

bool

picop.cysequence.seq_concat(o1, o2)#

Return o1 + o2 via PySequence_Concat. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cysequence.seq_contains(o, value)#

Return value in o via PySequence_Contains. :type o: object :param o: :type value: object :param value:

Return type:

bool

picop.cysequence.seq_count(o, value)#
picop.cysequence.seq_del(o, i)#

Delete o[i] via PySequence_DelItem.

Notes

Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cysequence.seq_del_slice(o, i1, i2)#

Delete o[i1:i2] via PySequence_DelSlice.

Notes

Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cysequence.seq_eq(a, b)#

Return True if sequences are equal via identity/size short-circuit + richcompare.

Notes

Prefer list_eq / tuple_eq when both operands are typed.

Parameters:
Return type:

bool

picop.cysequence.seq_get(o, i)#

Return o[i] via PySequence_GetItem. :type o: object :param o: :type i: int :param i:

Return type:

object

picop.cysequence.seq_index(o, value)#

Return o.index(value) via PySequence_Index. :type o: object :param o: :type value: object :param value:

Return type:

int

picop.cysequence.seq_inplace_concat(o1, o2)#

Return o1 += o2 result via PySequence_InPlaceConcat. :type o1: object :param o1: :type o2: object :param o2:

Return type:

object

picop.cysequence.seq_inplace_repeat(o, count)#

Return o *= count result via PySequence_InPlaceRepeat. :type o: object :param o: :type count: int :param count:

Return type:

object

picop.cysequence.seq_len(o)#
picop.cysequence.seq_list(o)#

Return list(o) via PySequence_List (always a new list). :type o: object :param o:

Return type:

list

picop.cysequence.seq_repeat(o, count)#

Return o * count via PySequence_Repeat. :type o: object :param o: :type count: int :param count:

Return type:

object

picop.cysequence.seq_set(o, i, v)#

Assign o[i] = v via PySequence_SetItem.

Notes

Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cysequence.seq_set_slice(o, i1, i2, v)#

Assign o[i1:i2] = v via PySequence_SetSlice.

Notes

Returns 0 on success; errors raise — do not use the status as a bool.

Parameters:
Return type:

int

picop.cysequence.seq_size(o)#
picop.cysequence.seq_slice(o, i1, i2)#

Return o[i1:i2] via PySequence_GetSlice. :type o: object :param o: :type i1: int :param i1: :type i2: int :param i2:

Return type:

object

picop.cysequence.seq_tuple(o)#

Return tuple(o) via PySequence_Tuple. :type o: object :param o:

Return type:

tuple