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

Python列表类型详解

Python列表类型详解
一、列表的基本概念

列表(List)是Python中一种‌有序可变集合‌,用于存储一系列有序的、可重复的项目集合。列表中的项目可以是同类型的(如纯数字列表),也可以是不同类型的数据(如字符串、数字、甚至嵌套列表)。列表是可变的序列,这意味着你可以在创建后修改其内容,如添加、删除或修改元素。

二、列表的创建方式
直接使用方括号创建‌:
python
Copy Code
list1 = [1, 2, 3] # 存储数字
list2 = ["apple", "banana"] # 存储字符串
list3 = [1, "hello", 3.5] # 存储不同类型数据
list4 = [[1, 2], [3, 4]] # 嵌套列表

使用list()函数创建‌:
python
Copy Code
list5 = list((1, 2, 3)) # 从元组转换
list6 = list("hello") # 从字符串转换

三、列表的主要特点
可变性‌:
支持动态增删改操作,如append()、remove()、insert()、pop()等。
python
Copy Code
my_list = [1, 2, 3]
my_list.append(4) # 添加元素
my_list.remove(2) # 删除元素
my_list = 10 # 修改元素

有序性‌:
元素按插入顺序排列,支持通过索引访问(索引从0开始)。
python
Copy Code
print(my_list) # 输出:10
print(my_list[1:3]) # 输出:[2, 3]

内存分配‌:
动态扩展机制(每次增加约1.125倍),效率较低(与数组相比)。
python
Copy Code
my_list.extend([5, 6]) # 扩展列表

四、列表的常用操作
增删改查‌:
添加元素:append()、insert()
删除元素:remove()、pop()
修改元素:通过索引赋值
查询元素:in关键字
python
Copy Code
my_list = [1, 2, 3]
my_list.append(4) # 添加到末尾
my_list.insert(1, 1.5) # 插入到索引1
my_list.remove(2) # 删除值为2的元素
last_elem = my_list.pop() # 弹出并返回最后一个元素

排序与反转‌:
python
Copy Code
my_list.sort() # 升序排序
my_list.reverse() # 反转列表

复制与克隆‌:
python
Copy Code
list1 = [1, 2, 3]
list2 = list1 # 别名(指向同一内存)
list3 = list1[:] # 克隆(独立副本)

五、列表与元组的区别
特性 列表(List) 元组(Tuple)
可变性 可变(支持修改) 不可变(一旦创建不可修改)
内存分配 动态扩展(效率较低) 静态分配(内存更小)
适用场景 需要频繁修改的动态数据集 需要固定数据的场景(如字典键)
创建方式 []或list() ()或tuple()

注意‌:列表和元组都支持索引、切片、连接(+)和重复(*)操作。

http://www.jsqmd.com/news/73337/

相关文章:

  • 运维系列Windows系列【仅供参考】:Win11暂停更新点不了怎么办?Win11暂停更新是灰色的如何解决?
  • 用JAVA开启摄影约拍新体验:线上预约,便捷触手可及
  • Windows系统文件netshell.dll缺失损坏问题 下载修复
  • 离网下基于下垂控制的 T 型三电平逆变器研究
  • HCNP学习第五天打卡
  • 详细介绍:Docker 多服务镜像构建完整教程
  • Springboot快递信息管理52c05(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 2025年钓鱼竿品牌排行榜前十名TOP榜:鱼竿十大品牌,钓鱼竿前十名 - 品牌2026
  • 数组int [ ]ints=new int[ ] { };
  • 2025国产鱼竿十大名牌榜单 从第一名到第十名实力排行 - 品牌2026
  • 计算机毕业设计springboot农贸市场管理系统 SpringBoot 智慧农批市场综合运营平台 SpringBoot 农产品集散中心数字管理系统
  • OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?
  • day36 阅读官方文档
  • RPA 重塑 IT 运维:6 大核心场景解锁自动化新效能
  • JVM内存、GC与JConsole实战全解析:从理论到可视化的完整指南
  • PPT每一页都要加小标题?拒绝复制粘贴,这3招让你效率翻倍!
  • 计算机Java毕设实战-基于springboot高校教务管理系统设计与实现基于SpringBoot学校教务管理系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • [Android] B站第三方电视TVapp BV_0.3.10
  • 基于SMIC 13mmRF_1233工艺的锁相环电路(PLL)设计与实现:工作电压3.3V,性...
  • next-ai-draw-io
  • [Windows] 表白程序生成工具 v1.0
  • 创客匠人峰会总结:私域 AI 化引爆知识变现 —— 创始人 IP 的智能增长新范式
  • 终极DoublePulsar检测指南:5分钟快速发现系统后门威胁
  • 读捍卫隐私03同步
  • 设备入侵检测规则过时致漏报,后来才知道启用自动规则同步
  • 为什么比话能把论文的ai率降低下来?比话的技术优势分析拆解!
  • JAVA安装教程 (windows版),入门第一项,小白收藏这篇就够了
  • PHP 可用的函数
  • 为什么比话能把论文的ai率降低下来?2025年降ai选比话靠谱吗?
  • 人工智能发展史 — RNN/LSTM/GRU/Transformer 序列模型发展历程