zoukankan      html  css  js  c++  java
  • Python中的有序字典--OrderedDict

    Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等, collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型:

    • namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
    • deque: 双端队列,可以快速的从另外一侧追加和推出对象
    • Counter: 计数器,主要用来计数
    • OrderedDict: 有序字典
    • defaultdict: 带有默认值的字典

    OrderedDict

    在Python中,dict这个数据结构由于hash的特性,是无序的,这在有的时候会给我们带来一些麻烦, 幸运的是,collections模块为我们提供了OrderedDict,当你要获得一个有序的字典对象时,用它就对了。

    # -*- coding: utf-8 -*-
    from collections import OrderedDict
    
    items = (
        ('A', 1),
        ('B', 2),
        ('C', 3)
    )
    
    regular_dict = dict(items)
    ordered_dict = OrderedDict(items)
    
    print 'Regular Dict:'
    for k, v in regular_dict.items():
        print k, v
    
    print 'Ordered Dict:'
    for k, v in ordered_dict.items():
        print k, v
    
    
    # Result:
    Regular Dict:
    A 1
    C 3
    B 2
    Ordered Dict:
    A 1
    B 2
    C 3

    在神经网络中添加模块:

            self.features = nn.Sequential(OrderedDict([
                ('conv0', nn.Conv2d(3, num_init_features, kernel_size=7, stride=2,
                                    padding=3, bias=False)),
                ('norm0', nn.BatchNorm2d(num_init_features)),
                ('relu0', nn.ReLU(inplace=True)),
                ('pool0', nn.MaxPool2d(kernel_size=3, stride=2, padding=1)),
            ]))

    参考:

    [1]  不可不知的Python模块: collections https://www.zlovezl.cn/articles/collections-in-python/

  • 相关阅读:
    SqlServer:创建索引
    SqlServer:使用视图 View
    SqlServer:修改和删除数据
    网络管理:SNMPv1
    《剑指 Offer》学习记录:题 9:用两个栈实现队列
    《剑指 Offer》学习记录:题 27:二叉树的镜像
    团队冲刺9
    团队冲刺8
    团队冲刺7
    团队冲刺6
  • 原文地址:https://www.cnblogs.com/jiangkejie/p/13037142.html
Copyright © 2011-2022 走看看