orderedset¶
Module description¶
This module provide a pure python OrderedSet data type implementation. inspired by http://code.activestate.com/recipes/576694/
Ordered set is a set that remembers original insertion order. Also support add item, remove item, iterate, union, intersect, difference, classic set operations.
Note: this is not a high performance implementation, don’t use this for big data and product environment. But there’s are better one:
orderedset: a Cython implementation. https://pypi.python.org/pypi/orderedset
Usage examples¶
Add, discard, pop:
>>> s = OrderedSet()
>>> s.add(1)
>>> s.add(2)
>>> s.add(3)
>>> s
OrderedSet([1, 2, 3])
>>> s.discard(2)
>>> s
OrderedSet([1, 3])
>>> s.pop()
3
>>> s
OrderedSet([1])
Union, intersect, difference:
>>> s = OrderedSet("abracadaba") # {"a", "b", "r", "c", "d"}
>>> t = OrderedSet("simcsalabim") # {"s", "i", "m", "c", "a", "l", "b"}
>>> s | t # s union t
OrderedSet(['a', 'b', 'r', 'c', 'd', 's', 'i', 'm', 'l'])
>>> s & t # s intersect t
OrderedSet(['c', 'a', 'b'])
>>> s - t # s different t
OrderedSet(['r', 'd'])
class, method, func, exception¶
-
class
ctmatching.orderedset.
OrderedSet
(iterable=None)[source]¶ A light weight OrderedSet data type pure Python implementation.
-
add
(key)[source]¶ Add an item to the OrderedSet.
Usage:
>>> s = OrderedSet() >>> s.add(1) >>> s.add(2) >>> s.add(3) >>> s OrderedSet([1, 2, 3])
中文文档
添加一个元素, 如果该元素已经存在, 则不会有任何作用。
-
discard
(key)[source]¶ Remove a item from its member if it is a member.
Usage:
>>> s = OrderedSet([1, 2, 3]) >>> s.discard(2) >>> s OrderedSet([1, 3])
中文文档
从有序集合中删除一个元素, 同时保持集合依然有序。
-
pop
(last=True)[source]¶ Remove and returns the last added item.
Usage:
>>> s = OrderedSet([1, 2, 3]) >>> s.pop() 3 >>> s OrderedSet([1, 2])
中文文档
移除并返回最后添加的元素。
-
-
ctmatching.orderedset.
test_add_pop_and_discard
()[source]¶ test, add(item), pop(last=True/False), discard(item) method