ucollections.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. """
  2. ucollections 模块实现了专门的容器数据类型,它提供了 Python 的通用内置容器的替代方案,包括了字典、列表、集合和元组。
  3. """
  4. class namedtuple(name, fields):
  5. """
  6. 这是工厂函数创建一个新的 namedtuple 型与一个特定的字段名称和集合。namedtuple 是元组允许子类要访问它的字段不仅是数字索引,而且还具有属性使用符号字段名访问语法。 字段是字符串序列指定字段名称。为了兼容的实现也可以用空间分隔的字符串命名的字段(但效率较低) 。
  7. 代码示例:
  8. - from ucollections import namedtuple
  9. - MyTuple = namedtuple("MyTuple", ("id", "name"))
  10. - t1 = MyTuple(1, "foo")
  11. - t2 = MyTuple(2, "bar")
  12. - print(t1.name)
  13. - assert t2.name == t2[1]
  14. - ucollections.OrderedDict(...)
  15. """
  16. ...
  17. class OrderedDict(...):
  18. """
  19. 字典类型的子类,会记住并保留键/值的追加顺序。当有序的字典被迭代输出时,键/值 会按照他们被添加的顺序返回 :
  20. from ucollections import OrderedDict
  21. # To make benefit of ordered keys, OrderedDict should be initialized
  22. # from sequence of (key, value) pairs.
  23. - d = OrderedDict([("z", 1), ("a", 2)])
  24. # More items can be added as usual
  25. - d["w"] = 5
  26. - d["b"] = 3
  27. - for k, v in d.items():
  28. - print(k, v)
  29. 输出:
  30. - z 1 a 2 w 5 b 3
  31. """
  32. ...