• 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】基本类型和引用类型(值传递)
    Linux学习笔记:什么是x86
    Java volatile keyword
    C语言可变參实现參数累加返回
    [Network]Application Layer
    linux下select,poll,epoll的使用与重点分析
    卷积神经网络(CNN)基础介绍
    ScrollView嵌套ExpandableListView显示不正常的问题
    【leetcode】 Unique Binary Search Trees II (middle)☆
    【leetcode】 Unique Binary Search Trees (middle)☆
  • 原文地址:https://www.cnblogs.com/a736659557/p/11894056.html
Copyright © 2020-2023  润新知