首页 >后端开发 >Python教程 >Python 是否提供原生有序集?如何模拟有序集?

Python 是否提供原生有序集?如何模拟有序集?

Barbara Streisand
Barbara Streisand原创
2025-01-05 11:04:40121浏览

Does Python Offer a Native Ordered Set, and How Can One Be Emulated?

在 Python 中探索有序集

Python 提供了有序字典,但是它提供有序集吗?让我们深入研究这个查询并发现 Python 中可用的潜在解决方案。

有序集的缺失

与有序字典不同,Python 本身并不支持有序集。然而,引入有序集对于维护元素顺序同时消除重复项来说是一个有益的功能。

使用字典模拟有序集

从 Python 3.7 开始,一个简单的通过使用 dict 类方法 fromkeys(),可以将字典用作有序集。此方法仅接受键(将值设置为 None),有效地模拟有序集功能。

示例用法

要展示用法,请考虑关键字列表:[ 'foo'、'bar'、'bar'、'foo'、'baz'、'foo']。要在保留顺序的同时过滤掉重复项,只需使用 fromkeys() 方法并检索keys()。

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

>>> list(dict.fromkeys(keywords))
['foo', 'bar', 'baz']

旧版 Python 版本的替代方案

对于旧版Python 版本中,collections.OrderedDict 类可以充当有序集。它提供了与用字典模拟有序集类似的功能。

总之,虽然 Python 不提供原生有序集,但巧妙地使用字典和集合。OrderedDict 类可以有效地完成相同的任务,使开发人员能够处理Python 代码中的有序集。

以上是Python 是否提供原生有序集?如何模拟有序集?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn