美文网首页python学习资料
python数据结构----2

python数据结构----2

作者: _String_ | 来源:发表于2017-07-03 08:57 被阅读0次

    namedtup,

    标准tuple使用数值索引方式来访问其成员如下:

    bob=('bob',30,'male')
    print bob
    jane =('jane',29,'feamle')
    for p in [bob, jane]:
    print '%s is a %d year old %s' % p
    namedtuple可以使用索引值还可以使用名字指定值,
    import collections
    person = collections.namedtuple('person','name age bo gender')
    print 'Type of person:',type(person)
    bob = person(name='bob',age=30,gender='male')
    print '\nRepresentation:', bob
    jane = person(name='jane',age=29,gender='female')
    print '\nfield by name:',jane.name
    print '\n fields by index:'
    for p in [bob,jane]
    print '%s is a %d year old %s' % p
    当出现非法字段名的时候会抛出valueError异常如下:
    try:
    collections.namedtuple('person','name age gender age')
    except ValueError, err:
    print err

    Encountered duplicate field name: 'age'
    声明namedtuple对象时可以使用rename=True属性设在自动对重复字段进行重命名,如下:

    with_ages = collections.namedtuple(
    'person','name class age gender',
    rename=True)
    print with_ages._fields
    ('name', '_1', 'age', 'gender')

    OrderdDict

    OrderedDict是一个字典子类,记住内容增加的顺序。

    d = {}
    d['a']='A'
    d['b']='B'
    d['c']='C'
    for k, v in d.items():
    print k, v

    a A
    c C
    b B
    常规dict
    并不跟踪插入顺序,迭代处理时会根据键在散列表中存储的顺序来生成值。在OrderedDict中则相反,他会记住元素插入的顺序,并在创建迭代器时使用这个顺序。示例如下:

    dd =collections.OrderedDict()
    dd['a']='A'
    dd['b']='B'
    dd['c']='C'
    for k, v in dd.items():
    print k, v

    a A
    b B
    c C

    array——固定类型数据序列

    高效管理固定类型数值数据的序列
    可以使用读写文件的专用内置方法将数组的内容写入文件,或从文件读取内容。

    相关文章

      网友评论

        本文标题:python数据结构----2

        本文链接:https://www.haomeiwen.com/subject/dsogqxtx.html