Skip to content

Set Utilities

The rite.collections.set subpackage provides helpers and higher-level operations for working with sets and related data structures.

Set Operations Module

Utilities for set operations and transformations.

Functions

  • set_union: Union of multiple sets.
  • set_intersection: Intersection of multiple sets.
  • set_difference: Difference of sets.
  • set_symmetric_difference: Symmetric difference of two sets.

Examples

from rite.collections.set import set_union set_union({1, 2}, {2, 3}, {3, 4})

Functions

set_difference(first: set[T], *others: set[T]) -> set[T]

Return difference of first set minus all others.

Parameters:

Name Type Description Default
first set[T]

Base set to subtract from.

required
*others set[T]

Sets to subtract.

()

Returns:

Type Description
set[T]

New set with elements in first but not in others.

Examples:

>>> set_difference({1, 2, 3}, {2}, {3})
{1}
>>> set_difference({1, 2, 3, 4}, {2, 3})
{1, 4}

set_intersection(*sets: set[T]) -> set[T]

Return intersection of multiple sets.

Parameters:

Name Type Description Default
*sets set[T]

Variable number of sets to intersect.

()

Returns:

Type Description
set[T]

New set containing only common elements.

Examples:

>>> set_intersection({1, 2, 3}, {2, 3, 4}, {2, 3, 5})
{2, 3}
>>> set_intersection({1, 2}, {3, 4})
set()

set_symmetric_difference(first: set[T], second: set[T]) -> set[T]

Return symmetric difference (elements in either but not both).

Parameters:

Name Type Description Default
first set[T]

First set.

required
second set[T]

Second set.

required

Returns:

Type Description
set[T]

New set with elements in first or second but not both.

Examples:

>>> set_symmetric_difference({1, 2, 3}, {2, 3, 4})
{1, 4}
>>> set_symmetric_difference({1, 2}, {3, 4})
{1, 2, 3, 4}

set_union(*sets: set[T]) -> set[T]

Return union of multiple sets.

Parameters:

Name Type Description Default
*sets set[T]

Variable number of sets to unite.

()

Returns:

Type Description
set[T]

New set containing all unique elements.

Examples:

>>> set_union({1, 2}, {2, 3}, {3, 4})
{1, 2, 3, 4}
>>> set_union({1}, {2}, {3})
{1, 2, 3}

options: show_root_heading: true show_source: false heading_level: 2