zoukankan      html  css  js  c++  java
  • collections模块 获取其他数据类型

    collections模块

    collections模块是什么?

    collections模块的作用是提供一些python八大数据类型以外的数据类型

    常用方法

    #具名元组
    #可以应用在坐标中
    from collections import namedtuple  #导入具名元组库
    point = namedtuple('坐标', ['x', 'y']) #用法namedtupe(字符串类型的文件名,可迭代对象)
    point1 = namedtuple('坐标', ('x', 'y')) 
    point2 = namedtuple('坐标', 'x y')
    p = point(1, 3)  #传参的个数,要与namedtuple第二个参数的个数一一对应
    p1 = point1(7, 3)
    p2 = point2(3, 6)
    print(p)
    print(p1)
    print(p2)
    print(type(p))
    #结果为
    坐标(x=1, y=3)
    坐标(x=7, y=3)
    坐标(x=3, y=6)
    <class '__main__.坐标'>
    
    
    #扑克牌:获取扑克牌对象
    from collections import namedtuple 
    card = namedtuple('扑克牌', ['color', 'number'])
    red_A = card('♥', 'A')
    black_K = card('♠', 'K')
    print(red_A)
    print(black_K)
    #结果为
    扑克牌(color='♥', number='A')
    扑克牌(color='♠', number='K')
    
    #电影信息
    from collections import namedtuple 
    a = namedtuple('movie_information', 'city movie_type name')
    every_day_up = a('上海', 'action', '胡歌')
    print(every_day_up)
    print(type(every_day_up))
    #结果为
    movie_information(city='上海', movie_type='action', name='胡歌')
    <class '__main__.movie_information'>
    
    #python中的字典是无序的
    dic = dict({'x': 1, 'y': 3, 'z': 5})
    print(dic)
    print(type(dic))
    for i in dic:
        print(i)
    #结果为
    {'x': 1, 'y': 3, 'z': 5}
    <class 'dict'>
    x
    y
    z
    
    #可以通过OrderdDict模块获取有序字典
    from collections import OrderedDict
    order_dict = OrderedDict({'x': 1, 'y': 3, 'z': 5})
    print(order_dict)
    print(type(order_dict))
    print(order_dict.get('y'))
    print(order_dict['z'])
    for i in order_dict:
        print(i)
    #结果为
    OrderedDict([('x', 1), ('y', 3), ('z', 5)])
    <class 'collections.OrderedDict'>
    3
    5
    x
    y
    z
    
    
    #总结:在使用具名元组时的格式为namedtupe(字符串类型的文件名,可迭代对象),注意最后传入的参数要和此处的参数个数一致;在使用OrderedDict获取有序字典后,字典依然不能通过索引取值
    
    
  • 相关阅读:
    初探Java设计模式2:结构型模式(代理模式,适配器模式等)
    初探Java设计模式1:创建型模式(工厂,单例等)
    Java集合详解8:Java集合类细节精讲,细节决定成败
    Java集合详解7:一文搞清楚HashSet,TreeSet与LinkedHashSet的异同
    MySQL教程67-使用DISTINCT过滤重复数据
    MySQL教程66-数据表查询语句
    MySQL教程65-MySQL操作表中数据
    MySQL教程64-MySQL 流程控制函数
    MySQL教程63-MySQL 聚合函数
    MySQL教程62-MySQL日期和时间函数
  • 原文地址:https://www.cnblogs.com/a736659557/p/11894056.html
Copyright © 2011-2022 走看看