Home >Backend Development >Python Tutorial >Does Python Have a Built-in Ordered Set Data Structure?

Does Python Have a Built-in Ordered Set Data Structure?

Linda Hamilton
Linda HamiltonOriginal
2024-12-16 18:02:13498browse

Does Python Have a Built-in Ordered Set Data Structure?

Python's Ordered Data Structures

Python provides a range of ordered data structures, including the ordered dictionary. However, a question arises: does Python also feature an ordered set?

Absence of Built-in Ordered Set

Unlike ordered dictionaries, Python does not have a built-in ordered set type. This omission can be attributed to the fact that sets inherently maintain unordered collections of unique elements.

Emulating Ordered Sets in Python 3.7

Nevertheless, starting from Python 3.7, you can employ the standard library's dict to impersonate an ordered set. By creating a dict with only keys (and values set to None), you can achieve the desired functionality.

keywords = ['foo', 'bar', 'bar', 'foo', 'baz', 'foo']

ordered_keywords = list(dict.fromkeys(keywords))
print(ordered_keywords)
# Output: ['foo', 'bar', 'baz']

This approach effectively filters out duplicate items while preserving the order, mimicking the behavior of an ordered set.

Alternative for Older Python Versions

If using a Python version prior to 3.7, you can leverage the collections.OrderedDict to achieve similar ordered set functionality.

The above is the detailed content of Does Python Have a Built-in Ordered Set Data Structure?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn