OrderedSet

4.1.0 · active · verified Sat Mar 28

An OrderedSet is a custom MutableSet that remembers its order, so that every entry has an index that can be looked up. It combines the uniqueness of a set with the order-preserving and indexable properties of a list. The library is currently at version 4.1.0 and is actively maintained, with updates driven by new features and bug fixes.

Warnings

Install

Imports

Quickstart

Demonstrates basic creation, membership testing, indexing, adding elements, and set operations with OrderedSet.

from ordered_set import OrderedSet

# Create an OrderedSet
letters = OrderedSet('abracadabra')
print(f"Initial OrderedSet: {letters}")
# Expected: OrderedSet(['a', 'b', 'r', 'c', 'd'])

# Check for membership
print(f"'r' in letters: {'r' in letters}")
# Expected: 'r' in letters: True

# Get item by index
print(f"letters[2]: {letters[2]}")
# Expected: letters[2]: r

# Get index of an item
print(f"letters.index('r'): {letters.index('r')}")
# Expected: letters.index('r'): 2

# Add a new item (returns index)
new_index = letters.add('x')
print(f"After adding 'x': {letters}, index returned: {new_index}")
# Expected: After adding 'x': OrderedSet(['a', 'b', 'r', 'c', 'd', 'x']), index returned: 5

# Set operations
more_letters = OrderedSet('shazam')
letters |= more_letters
print(f"Union with 'shazam': {letters}")
# Expected: Union with 'shazam': OrderedSet(['a', 'b', 'r', 'c', 'd', 'x', 's', 'h', 'z', 'm'])

view raw JSON →