当前位置: 首页 > news >正文

沈阳网站建设企业中国科技成就图片

沈阳网站建设企业,中国科技成就图片,请人做网站设计的方案,富顺做网站Python 的扩展数据类型是对内置数据类型的增强#xff0c;旨在解决特定需求#xff0c;提供更高级的功能。我们来看一些常见的扩展数据类型及其原理、用途#xff0c;并通过示例逐步讲解。 1. collections.namedtuple namedtuple 是增强的元组#xff0c;允许用名称访问元…Python 的扩展数据类型是对内置数据类型的增强旨在解决特定需求提供更高级的功能。我们来看一些常见的扩展数据类型及其原理、用途并通过示例逐步讲解。 1. collections.namedtuple namedtuple 是增强的元组允许用名称访问元素增加代码可读性。 原理它扩展了普通元组通过名称而不是索引来访问元素。内部实际上还是使用元组存储数据但通过动态生成类的方式增加了属性名。 场景适合用于结构化数据存储如数据库查询结果、坐标、RGB颜色值等。 示例 from collections import namedtuple# 定义一个名称为Point的 namedtuple Point namedtuple(Point, [x, y])p1 Point(10, 20) print(p1.x) # 10 print(p1.y) # 20相比普通元组它的可读性和易维护性都增强了 p (10, 20) # 普通元组 print(p[0]) # 10, 使用索引访问不直观2. collections.defaultdict defaultdict 是字典的扩展可以指定一个默认工厂函数当访问不存在的键时会自动生成值。 原理通过 __missing__() 方法处理缺失的键调用默认工厂函数生成值。默认工厂函数可以是 int、list 等。 场景适用于需要频繁初始化新键的场景如统计、聚合等。 示例 from collections import defaultdict# 默认工厂函数为 list初始化新键时返回空列表 dd defaultdict(list) dd[fruits].append(apple) print(dd) # {fruits: [apple]}如果使用普通字典会抛出 KeyError d {} # d[fruits].append(apple) # 抛出KeyError3. collections.Counter Counter 是用于计数的字典子类适合用于频率统计。 原理内部通过字典实现键值对值表示元素出现的次数。 场景适合统计元素频次如统计单词、字符、事件等。 示例 from collections import Counterwords [apple, banana, apple, orange, banana, apple] word_count Counter(words) print(word_count) # Counter({apple: 3, banana: 2, orange: 1})你可以直接用 Counter 对字符串进行统计 text hello world char_count Counter(text) print(char_count) # Counter({l: 3, o: 2, h: 1, e: 1, : 1, w: 1, r: 1, d: 1})4. collections.deque deque 是双向队列支持从两端高效插入和删除。 原理内部使用双向链表实现比普通列表 list 在两端插入删除更快。 场景适用于队列、栈等需要快速操作两端的场景。 示例 from collections import dequedq deque([1, 2, 3]) dq.append(4) # 在右边添加 dq.appendleft(0) # 在左边添加 print(dq) # deque([0, 1, 2, 3, 4])与 list 比较 lst [1, 2, 3] lst.insert(0, 0) # 左边插入操作效率较低deque 更优5. collections.OrderedDict OrderedDict 是保留插入顺序的字典子类。 原理普通字典在 Python 3.7 版本中已经默认保持插入顺序但 OrderedDict 在老版本中也提供了这种功能并增加了 move_to_end 等方法。 场景需要保证键值对插入顺序的场景如处理 LRU 缓存等。 示例 from collections import OrderedDictod OrderedDict() od[a] 1 od[b] 2 od[c] 3 print(od) # OrderedDict([(a, 1), (b, 2), (c, 3)])6. collections.ChainMap ChainMap 用于将多个字典组合成一个视图。 原理它不会复制字典而是动态构建一个视图从多个字典中查找键。 场景适用于需要在多个上下文如局部和全局中查找变量的场景。 示例 from collections import ChainMapdict1 {a: 1, b: 2} dict2 {b: 3, c: 4} chain ChainMap(dict1, dict2) print(chain[b]) # 2, 优先返回第一个字典中的值7. enum.Enum Enum 是枚举类型允许定义一组常量并使用名称来引用它们。 原理枚举类通过 enum 模块实现赋予一组有意义的常量名称增强代码的可读性。 场景适合定义一组固定的常量值如颜色、状态、方向等。 示例 from enum import Enumclass Color(Enum):RED 1GREEN 2BLUE 3print(Color.RED) # Color.RED print(Color.RED.value) # 1总结 数据类型原理适用场景示例namedtuple具名元组使用名称访问结构化数据存储Point namedtuple(Point, [x, y])defaultdict自动初始化键值需要初始化键的字典操作dd defaultdict(list)Counter计数器统计频次word_count Counter(words)deque双向队列快速插入删除栈、队列实现dq deque([1, 2, 3])OrderedDict保留插入顺序的字典LRU 缓存实现od OrderedDict()ChainMap多个字典的视图变量上下文查找chain ChainMap(dict1, dict2)Enum枚举类型定义常量常量定义如颜色、状态等Color.RED 这些扩展类型在处理特定问题时极为有用它们可以提高代码的可读性、效率并减少出错的可能。每个类型都为特定场景提供了优化方案使代码更具表现力和清晰度。
http://www.w-s-a.com/news/869963/

相关文章:

  • 科技网站欣赏婚庆公司经营范围
  • 网站后台管理系统php校园网站建设意见表填写
  • 网站建设问题调查常州百度推广代理公司
  • net网站开发学习谷歌优化培训
  • 企业网站公众号广东网站建设方便
  • 2008r2网站建设张店网站建设方案
  • 企业网站首页学生做的网站成品
  • 网站开发 架构设计企业信息管理系统的组成不包括
  • 网站维护模式网页传奇游戏平台排行
  • 企业网站改自适应蛋糕方案网站建设
  • 网站开发技术职责网站升级中html
  • 天网网站建设百度权重高的网站
  • 明年做哪些网站致富网站站长 感受
  • 东莞营销网站建设优化怎么做微信网站推广
  • 网站建设一个多少钱php网站服务器怎么来
  • 引流用的电影网站怎么做2012服务器如何做网站
  • 什么网站可以做推广广州安全信息教育平台
  • 网站开发具备的相关知识wordpress简约文字主题
  • asp网站伪静态文件下载seo外包公司哪家好
  • 淘宝客网站根目录怎么建个废品网站
  • 网站备案更改需要多久百度免费网站空间
  • 外发加工是否有专门的网站wordpress主页 摘要
  • 企业网站优化系统浙江建设信息港证书查询
  • 很多年前的51网站如何做跨境电商需要哪些条件
  • 网站建设中 请稍后访问互联网营销设计
  • 软文网站名称用户浏览网站的方式
  • 大兴模版网站搭建哪家好网站建设与管理管理课程
  • 四川成都网站制作微信广告平台推广
  • 网站价格网页制作网站开发实训步骤
  • cms 导航网站鹤壁做网站价格