zoukankan      html  css  js  c++  java
  • collections模块

    TOC

    引用

    python默认的八大数据类型

    • 整型
    • 浮点型
    • 字符串
    • 字典
    • 元组
    • 列表
    • 集合
    • 布尔值

    collections模块

    一、什么是collecting模块

    提供一些python八大数据类型“以外的数据类型”

    二、 collections的用法

    2.1 具名元组

    namedtuple 大多数翻译作具名元组命名元组
    具名元组可以理解为元组的增强版本,它适用于任何普通元组的应用范围。
    具名元组为元组中的每个元素都赋予了含义,从而增强代码可读性。

    # 导入相关模块
    from collections import namedtuple
    
    
    # amedtuple() 工厂函数返回一个具名元组类,该函数位于 collections 模块下,具体定义形式如下:
    namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)

    2.1.1 具名元组的应用场景

    • 坐标
    • 扑克牌

    坐标:

    from collections import namedtuple
    
    # 传入可迭代对象是有序的
    # 应用:坐标
    # 将'坐标'变成 “对象” 的名字
    point = namedtuple('坐标', ['x', 'y'])
    # point = namedtuple('坐标', ('x', 'y'))  # 第二个参数既可以传可迭代对象
    # point = namedtuple('坐标', 'x y')  # 第二个参数既可以传可迭代对象
    p = point(2, 3)
    print(p)
    print(type(p))
    
    
    坐标(x=2, y=3)
    <class '__main__.坐标'>

    扑克牌:

    from collections import namedtuple
    # 扑克牌:
    # 获取扑克牌对象
    card = namedtuple('扑克牌', ['color', 'number'])
    # 由扑克牌对象产生一张 扑克牌
    red_A = card('♥', 'A')
    print(red_A)
    black_K = card('♠', 'K')
    print(black_K)
    
    
    扑克牌(color='♥', number='A')
    扑克牌(color='♠', number='K')

    2.2 有序字典

    语法:

    from collections import OrderedDict

    将python中的无序字典变为有序

    from collections import OrderedDict
    dic = dict({'x': 1, 'y': 2, 'z': 3})
    order_dict = OrderedDict(dic)
    print(order_dict)
    print(type(order_dict))
    print(order_dict.get('x'))
    print(order_dict.get('y'))
    
    for line in order_dict:
        print(line)
    
    
    OrderedDict([('x', 1), ('y', 2), ('z', 3)])
    <class 'collections.OrderedDict'>
    1
    2
    x
    y
    z




  • 相关阅读:
    手动安装ceph集群
    openstack端口禁用安全规则
    debian10桌面美化
    debian10 制作动态扩容根分区镜像
    CentOS7制作动态扩容根分区镜像
    EFKLK日志收集工具栈
    ceph rbd(csi) 对接 kubernetes sc
    secureCRT 814配色方案
    python function
    Linux操作篇之LNMP(一)
  • 原文地址:https://www.cnblogs.com/cnhyk/p/11891032.html
Copyright © 2011-2022 走看看