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

python基础

python基础

列表list(动态数组)

初始化方法:

nums = []
nums = [1,3,5]n = 10
nums = [0] * nm, n = 3, 4
matrix = [[1] * n for _ in range(m)]

常用方法

nums = [0] * 10
print(len(nums) == 0) //输出false
print(len(nums)) //输出10
nums.append(20) //在列表尾部插入一个元素20
print(len(nums)) //输出11
print(nums[-1]) //得到列表最后一个元素,输出20
nums.pop() //删除列表最后一个元素
print(len(nums)) //输出10nums[0] = 11 //索引访问与修改
print(nums[0]) //输出10
nums.insert(3, 99) //索引3处插入元素99
nums.pop(2) //删除索引2处元素
nums[0], nums[1] = nums[1], nums[0] //交换索引1,0处元素//遍历列表,输出0 11 99 0 0 0 0 0 0 0
for num in nums:print(num, end=" ")
print()

双端列表deque

deque是collections模块提供的双端队列,可以高效地两端插入和删除元素

form collections import deque//初始化双端队列
lst = deque([1,2,3,4,5])//检查是否为空,输出False
print(len(lst) == 0) //获取大小,输出5
print(len(lst))//在头部插入0,尾部插入6
lst.appendleft(0)
lst.append(6)
printf(lst[0], lst[-1]) //获取头部和尾部元素,输出0 6//删除头部和尾部元素
lst.poplest()
lst.pop()lst.insert(2, 99) //索引2处插入99
del lst[1] //删除索引1处元素//遍历双端队列,输出1 99 3 4 5
for val in lst:
print(val, end=" ")
print()

队列queue

受限的数据结构,只允许在队尾插入元素,在队头删除元素。python没有专门的队列类型,可以用deque来模拟队列,append相当于入队,popleft相当于出队

form collections import deque
q = deque() //初始化队列
//向队尾插入元素
q.append(10)
q.append(20)
q.append(30)print(len(1) == 0) //是否为空,输出False
print(len(q)) //大小,输出3
print(q[0]) //获取队头元素但不出对,输出10
q.popleft() //队头元素出队
printf(q[0]) //新的队头元素。输出20

栈Stack

没有专门的栈类型,可以用list和deque来模拟/append相当于压栈,pop相当于出栈。

s = []//压栈
s.append(10)
s.append(20)
s.append(30)print(len(s) == 0) //是否为空,输出False
print(len(s)) //大小,输出3
print(s[-1]) //栈顶元素,输出30
s.pop //出栈
print(s[-1]) //新的栈顶元素,输出20

字典dict(哈希表)

dict是Python的哈希表实现,通过键值对存储数据查找、插入和删除操作的平均时间复杂度为O(1)。

hashmap = {1: "one", 2: " two", 3: "three"} //初始化字典
print(len(hashmap) == 0) //是否为空,输出False
print(len(hashmap)) //大小,输出3
//查找键
//输出:Key 2 -> two
if 2 in hashmap:print(f"Key 2 -> {hashmap[2]}")
else:print("Key 2 not found.")//获取键对应的值,不存在则返回 None
//输出:None
print(hashmap.get(4))//插入新键值对
hashmap[4] = "four"//获取新插入的值,输出:four
print(hashmap[4])//删除键 3
del hashmap[3]//检查删除后
if 3 in hashmap:print(f"Key 3 -> {hashmap[3]}")
else:print("Key 3 not found.")
//输出:Key 3 not found.//遍历字典
//输出:
//1 -> one
//2 -> two
//4 -> four
for k, v in hashmap.items():print(f"{k} -> {v}")

集合 set(哈希集合)

set 是 Python 的哈希集合,用于存储不重复元素,常用于去重和快速查询元素是否存在。

//初始化集合
hashset = {1, 2, 3, 4}//是否为空,输出:False
print(len(hashset) == 0)//大小,输出:4
print(len(hashset))//查找元素
if 3 in hashset:print("Element 3 found.")
else:print("Element 3 not found.")
//输出:Element 3 found.//插入新元素
hashset.add(5)//删除元素 2
hashset.discard(2)  # discard 不存在的元素不会报错//检查删除后
if 2 in hashset:print("Element 2 found.")
else:print("Element 2 not found.")
//遍历集合,输出:
//1
//3
//4
//5
for element in hashset:print(element)
http://www.rkmt.cn/news/81946.html

相关文章:

  • Old-Java类集框架随笔
  • Git 中文文件名显示为转义码(乱码)的解决方案
  • Windows-GameBar-ErrorLog
  • 记录一些波波的话
  • 2025最新结构胶品牌推荐!国内优质结构胶权威榜单发布,资质服务双优助力高品质建筑山东结构胶服务公司推荐 - 全局中转站
  • 2025最新免钉胶推荐!国内优质免钉胶品牌权威榜单发布,环保性能与粘结强度双优助力高效装修 - 全局中转站
  • 2025 最新美缝剂品牌 / 厂家 TOP5 评测!环保品质 + 技术创新权威榜单发布,匠心赋能家居装饰新体验 - 全局中转站
  • containerd base_runtime_spec
  • AI元人文构想:从“伦理规范”向“技术合标”的范式扩展
  • Luogu P9165 「INOH」Round 1 - 意外
  • 大作业笔记-2
  • 散修带你入门鸿蒙应用开发基础第六节:变量的作用域与生命周期 - 鸿蒙
  • 提升视频语义分割标注效率的新方法
  • Buuctf-babyheap_0ctf_2017
  • python:用argparse模块解析命令行参数
  • BM25Okap
  • Original Alientech KESS3 Slave 6-Month Subscription: Diagnose Tune European/American Vehicles
  • 2025年最新!实验室专用水处理设备厂家推荐及联系方式汇总 - 极欧测评
  • Pygubu-Designer:Python GUI开发
  • 苏州装修公司施工质量红榜:2025年口碑TOP5避坑指南 - 品牌测评鉴赏家
  • 苏州二手房局部改造全攻略:5家高口碑公司深度测评 - 品牌测评鉴赏家
  • LLaMa-Factory 使用 Llama-3-8B-Instruct 在 双卡 NVIDIA Quadro P5000 16G 环境跑通4bit模型微调全过程
  • 苏州别墅装修公司怎么选?这几家口碑好到爆! - 品牌测评鉴赏家
  • 再见了,我的神兽朋友
  • 12月10日日记
  • 苏州装修哪家强?前十榜单大放送! - 品牌测评鉴赏家
  • CQOI 2025
  • 2025苏州装修公司指南:从本土老字号到新锐黑马,这份攻略帮你精准避坑! - 品牌测评鉴赏家
  • NOI 2025
  • 英语_错题集_常用短语