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

自己建设网站流程做便民工具网站

自己建设网站流程,做便民工具网站,企业购物平台,旅游网网站建设在日常的 Python 编程中#xff0c;列表#xff08;list#xff09;、集合#xff08;set#xff09;和字典#xff08;dict#xff09;是常用的数据结构。然而#xff0c;在某些特定的场景下#xff0c;我们需要对数据进行排序#xff0c;并且希望在插入、删除或访问… 在日常的 Python 编程中列表list、集合set和字典dict是常用的数据结构。然而在某些特定的场景下我们需要对数据进行排序并且希望在插入、删除或访问元素时能够保持有序。在标准库中虽然我们可以通过 list.sort() 或者 sorted() 函数对列表进行排序但这些操作每次都需要 O(n log n) 的复杂度这对一些高频操作来说效率并不理想。 sortedcontainers 是一个高效的 Python 库它为开发者提供了三种主要的容器数据结构分别是 SortedList、SortedDict 和 SortedSet能够在 O(log n) 的时间复杂度下完成插入、删除和访问操作并且自动保持元素的有序性。在本文中我们将详细介绍 sortedcontainers 库的核心功能展示如何利用它的高效数据结构解决一些常见的编程问题。 ⭕️宇宙起点 ❓ 为什么选择 sortedcontainers安装 SortedList - 有序列表基本操作SortedList 的主要特性应用场景排行榜 SortedDict - 有序字典基本操作SortedDict 的主要特性应用场景事件调度 SortedSet - 有序集合基本操作SortedSet 的主要特性应用场景独特元素的排序管理 性能与应用 下载地址 结语 参考文献 ❓ 为什么选择 sortedcontainers sortedcontainers 是一个轻量级且高效的库提供了自动排序的数据结构能够替代 Python 标准库中的 list、set 和 dict 等常用容器。该库的特点包括 高效性所有操作的时间复杂度均为 O(log n)远优于每次插入后再进行排序的 O(n log n)。简单易用API 设计与标准库类似上手非常容易开发者只需要稍微修改代码就能替换掉标准容器。自动排序在插入和删除元素时容器会自动保持有序无需额外的手动排序操作。纯 Python 实现该库无需依赖 C 扩展因此可以轻松在各种平台上使用。 安装 在开始之前你需要通过 pip 安装 sortedcontainers 库 pip install sortedcontainers安装完成后你就可以在你的项目中使用它了。 SortedList - 有序列表 SortedList 是 sortedcontainers 中的一个有序列表实现它在元素插入、删除时会保持有序同时能够提供快速的索引访问。 基本操作 from sortedcontainers import SortedList# 创建一个 SortedList sl SortedList([3, 1, 4, 1, 5, 9, 2, 6])# 自动排序后输出 print(sl) # 输出: SortedList([1, 1, 2, 3, 4, 5, 6, 9])# 插入元素 sl.add(7) print(sl) # 输出: SortedList([1, 1, 2, 3, 4, 5, 6, 7, 9])# 删除元素 sl.remove(3) print(sl) # 输出: SortedList([1, 1, 2, 4, 5, 6, 7, 9])# 访问元素支持索引操作 print(sl[0]) # 输出: 1# 使用 bisect 方法查找元素的位置 index sl.bisect_left(5) print(index) # 输出: 45 应该在索引 4 处插入SortedList 的主要特性 自动排序元素插入和删除后列表会自动排序。索引访问你可以像操作普通列表一样通过索引访问元素。二分查找SortedList 提供了 bisect_left 和 bisect_right 等方法方便进行二分查找操作。支持切片可以直接对 SortedList 进行切片操作。 应用场景排行榜 假设你需要实现一个游戏排行榜玩家的得分会不断变化我们可以使用 SortedList 来保持得分有序快速插入和删除玩家。 players SortedList([(Alice, 1200), (Bob, 900), (Charlie, 1350)])# 添加一个新玩家 players.add((David, 1100))# 让 Bob 的得分提高 players.remove((Bob, 900)) players.add((Bob, 950))# 输出排名 for rank, player in enumerate(players, 1):print(fRank {rank}: {player[0]} with score {player[1]})SortedDict - 有序字典 SortedDict 是一个保持键有序的字典。当你在标准库的 dict 中插入新键时顺序取决于插入的顺序而 SortedDict 始终按键的顺序存储。 基本操作 from sortedcontainers import SortedDict# 创建一个 SortedDict sd SortedDict({b: 2, a: 1, c: 3})# 打印有序字典 print(sd) # 输出: SortedDict({a: 1, b: 2, c: 3})# 插入新元素 sd[d] 4 print(sd) # 输出: SortedDict({a: 1, b: 2, c: 3, d: 4})# 删除元素 del sd[b] print(sd) # 输出: SortedDict({a: 1, c: 3, d: 4})# 访问元素 print(sd[c]) # 输出: 3SortedDict 的主要特性 按键排序无论键的插入顺序如何SortedDict 始终按键的大小进行排序。类似标准字典操作方式与 Python 内置的 dict 非常相似支持增删改查等操作。键的二分查找可以像 SortedList 一样对键进行二分查找。 应用场景事件调度 假设你在开发一款模拟城市建设的游戏玩家可以安排各种建筑的建造时间我们可以用 SortedDict 来管理按时间顺序排列的事件。 events SortedDict()# 添加建筑事件 events[5] 建造房屋 events[1] 建造道路 events[10] 建造公园# 输出按时间顺序安排的事件 for time, event in events.items():print(f时间 {time}: {event})SortedSet - 有序集合 SortedSet 是 sortedcontainers 提供的一个有序集合实现类似于 Python 的 set但会保持集合中的元素有序。 基本操作 from sortedcontainers import SortedSet# 创建一个 SortedSet ss SortedSet([3, 1, 4, 1, 5, 9, 2, 6])# 自动排序后输出 print(ss) # 输出: SortedSet([1, 2, 3, 4, 5, 6, 9])# 插入新元素 ss.add(7) print(ss) # 输出: SortedSet([1, 2, 3, 4, 5, 6, 7, 9])# 删除元素 ss.remove(5) print(ss) # 输出: SortedSet([1, 2, 3, 4, 6, 7, 9])# 判断元素是否存在 print(4 in ss) # 输出: TrueSortedSet 的主要特性 自动去重与标准 set 一样SortedSet 保证集合内没有重复元素。自动排序集合中的元素始终保持有序。高效查找SortedSet 也提供了类似于 SortedList 的查找功能。 应用场景独特元素的排序管理 假设你正在开发一个电子商务平台用户可能会多次浏览同一产品。为了防止重复记录用户浏览过的产品并保持浏览记录的有序性我们可以使用 SortedSet。 viewed_products SortedSet()# 用户浏览了多个产品 viewed_products.update([101, 203, 101, 302, 203, 404])# 输出用户浏览的产品按产品 ID 排序 print(用户浏览过的产品:, viewed_products)性能与应用 sortedcontainers 使用纯 Python 实现但由于其内部采用了基于分块数组的高效算法能够在实际应用中表现出与 C 实现的类似性能。常见的用法包括 动态保持有序数据结构当你需要一个容器时刻保持有序时sortedcontainers 提供了高效的替代方案避免了频繁的手动排序。** 事件调度与优先级队列**SortedList 和 SortedDict 非常适合管理按时间或优先级排序的任务或事件。 3. 快速查找和访问二分查找、插入、删除操作的时间复杂度为 O(log n)在需要频繁操作有序数据的场景下比使用标准容器更高效。 下载地址 sortedcontainers 最新版 下载地址 结语 sortedcontainers 是一个功能强大、灵活且高效的 Python 库它为开发者提供了 SortedList、SortedDict 和 SortedSet 三种有序容器。在需要有序数据结构的场景中sortedcontainers 能够显著简化代码逻辑并提高运行效率。它的 API 设计与标准容器相似易于上手并且能够在许多实际项目中替代 Python 的标准数据结构尤其是在需要频繁插入、删除和查找的有序数据场景中。 参考文献 sortedcontainers GitHub仓库 通过本文的介绍和代码示例你现在应该对如何使用 sortedcontainers 来处理有序数据有了更深入的理解并能够在你的项目中应用这些高效的数据结构来解决各种排序和优先级问题。
http://www.hkea.cn/news/14387695/

相关文章:

  • 做网站使用明星照片可以吗怎么做一个盈利网站
  • 网站建设内链网站设计 培训
  • 一个简单的个人网站网络创作网站
  • No商业网站建设网站制作加教程视频教程
  • 网站设计公司地址公司网站维护与更新
  • 北京招聘网站设计师网站去哪备案
  • 天水网站建设公司供水开发建设公司网站
  • 360网站认证域名广东省广州市白云区白云湖街道
  • seo优化网站技术排名百度推广pr效果做的好的网站有哪些
  • 网站中图片下移怎么做成都高端室内设计公司
  • 知名网站建设推广wordpress 小游戏主题
  • 山西太原网站制作软件开发文档用什么写
  • 企业网站建设可以分为哪些层次企业网站如何设计
  • 江苏怎么做网站排名优化赣州是哪个省
  • 网站页面设计论文做视频网站需要流量
  • 网站制作推荐新鸿儒福建建设监理网站
  • 怎么识别网站是用什么语言做的dw建网站具体步骤
  • 太原网站制作多少钱八亿免费建站
  • 聊城公司网站建设网站模板 wordpress带会员系统
  • 装修公司网站源代码网站开发职业生涯规划范文
  • 专业做网站路桥企业门为什么要建设门户网站
  • 网站建设的评分细则网站建设的七个流程步骤
  • 万网网站流量ssr wordpress
  • 网站建站公司公告app开发公司的风险及应对策略
  • 建设部网站水利造价师长春视频剪辑培训机构
  • 网站建设的数据所有权网站app用什么语言开发
  • 诚信经营网站的建设专业定制网站系统
  • 网站建设是什么工作北京最富裕的三个区
  • 成都企业做网站网站建设优化公司哪家好
  • 网站建设选择题题库h5用什么网站来做