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

列表、字符串、heapq堆对列算法

1、列表

1.1 访问最后一个元素

list = [1, 2, 3, 4, 5, 6]
print(list[-1]) # 6

1.2 访问列表指定范围,例如第1-4个元素

print(list[0, 4]) # [1, 2, 3, 4]

1.3 将字符列表以字符串形式输出

list = ['h', 'e', 'l', 'l', 'o']
ls = "".join(list)
print(ls) # "hello"

2、字符串

2.1 访问最后一个元素

string = "hello world!"
print(string[-1])

2.2 字符串分割 str.split(sep=None, maxsplit=-1):返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。

print(string.split('o'))  # ['hell', ' w', 'rld!']

2.3 删除头部/尾部指定字符

s = "ssstrrtgdfssffss"

2.3.1 str.lstrip([chars]):返回原字符串的副本,移除其中的头部字符

print(s.lstrip("ss")) # trrtgdfssffss

2.3.2 str.rstrip([chars]):返回原字符串的副本,移除其中的末尾字符

print(s.rstrip("ss")) # ssstrrtgdfssff

2.3.3 str.strip([chars]):返回原字符串的副本,移除其中的头部和末尾字符

print(s.strip("ss")) # trrtgdfssff# 其他常用函数
str.islower() # 判断是否是小写
str.isupper() # 判断是否是大写
str.isalpha() # 判断是否是字母

3、堆对列算法 heapq

可以用于数据量较大的排序

import heapqheap = [] # 创建堆heapq.heappush(heap, 3) # 添加元素,并保持最小堆
heapq.heappush(heap, 5)
heapq.heappush(heap, 0)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)
print(heap)# 弹出最小值
print(heapq.heappop(heap))heap = []
heapq.heappush([1,4,3])
heapq.heappush([1,3,3])
heapq.heappush([1,5,5])
heapq.heappush([2,1,2])
heapq.heappush([2,1,1])
heapq.heappush([3,2,3])
print(heapq.heappop(heap)) # [1, 3, 3]
print(heapq.heappop(heap)) # [1, 4, 3]
print(heapq.heappop(heap)) # [1, 5, 5]
print(heapq.heappop(heap)) # [2, 1, 1]
print(heapq.heappop(heap)) # [2, 1, 2]

相关文章:

  • windows10 wsl2 安装ubuntu和docker
  • 中间件--ClickHouse-6--SQL基础(类似Mysql,存在差异)
  • 【Linux】系统入门
  • cursor AI编辑器的详细使用
  • 深度解析 Vue 项目 Webpack 分包与合包 一文读懂
  • Hadoop数据压缩教程
  • 深入理解栈数据结构:从基础概念到高级应用
  • Dify简介:从架构到部署与应用解析
  • go的json unmarshal和 k8s的deepcopy对比
  • 数据结构:最小生成树的普里姆算法和克鲁斯卡尔算法
  • 记录学习的第二十六天
  • 【ISP】AWB的基本原理介绍(基于灰度像素检测)
  • 【数据结构 · 初阶】- 带头双向循环链表
  • java Stream流
  • 【高阶数据结构】第三弹---图的存储与遍历详解:邻接表构建与邻接矩阵的BFS/DFS实现
  • PasteForm框架开发之Entity多级嵌套的表单的实现
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第八讲)
  • jupyter中切换Anaconda虚拟环境
  • 自定义类型之结构体
  • Charles 安装与使用详解:实现 App 与小程序 HTTPS 抓包
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案被查
  • 上海明后天将迎强风大雨,陆地最大阵风7~9级
  • 金价大反攻,国内金饰价格涨回千元,能否重返巅峰?
  • 上海市委常委会扩大会议传达学习习近平总书记考察上海重要讲话和在部分省区市“十五五”时期经济社会发展座谈会上的重要讲话精神
  • 英伟达:美国无法操纵监管机构在AI领域取胜,美企应专注创新而不是编造荒诞谣言
  • 孙一凡的东欧狂想音乐会:一场穿越东欧的听觉绮梦