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

04_Python数据类型_列表

在这里插入图片描述

Python的基础数据类型

  • 数值类型:整数、浮点数、复数、布尔
  • 字符串
  • 容器类型:列表、元祖、字典、集合

列表

  • 列表(List)是一种非常灵活的数据类型,它可以用来存储一系列的元素。
  • 容器类型,能够存储多个元素的类型。
  • 列表是可变的(mutable),意味着你可以修改列表的内容,包括添加、删除、替换元素等。

创建列表

列表是由方括号 [] 包围的元素集合,元素之间用逗号分隔。

# 定义一个空列表
l1 = list()
type(l1)
# 定义一个空列表
l2 = []
type(l2)
# 定义一个包含几个元素的列表
l3 = list([1,2,3])
type(l3)
# 定义列表,列表可以存储多种类型,可以重复,并且有顺序。
l4 = [1, 2, 3, True, 'name', [], 1, 2, 4]
type(l4)

访问列表元素

列表中的元素是有序的,可以通过索引来访问。索引从0开始。

my_list = [1, 2, 3, 'a', 'b', 'c']
# 访问第一个元素
first_element = my_list[0]  # 结果是 1
print(first_element)
# 访问最后一个元素
last_element = my_list[-1]  # 结果是 'c'
print(last_element)

列表切片

切片操作可以获取列表的一个子集。

# 获取从索引1到索引3(不包括索引3)的元素
sub_list = my_list[1:4]  # 结果是 [2, 3, 'a']
# 切片获取列表元素
l4[3:5]  # 结果:[True, 'name']

修改列表

列表是可变的,你可以通过索引来修改元素。

# 修改第一个元素
my_list[0] = 'one'
print(my_list)  # 结果:['one', 2, 3, 'a', 'b', 'c']

列表的常用方法

列表添加元素

  • list.append(x): 向列表尾部添加一个元素
  • list.insert(index, object): 向列表制定位置插入一个元素
    • index: 要插入的位置
    • object: 要插入的元素
  • list.extend(list2): 列表合并,将参数列表中的元素喝不到源列表中
# 添加元素,添加到最后。PS:jupyter notebook中执行一次添加一次
l1.append(1)
# 插入元素,插入到指定位置
l1.insert(1,2)
l2 = [7, 8, 9]
# 两个元素合并
l1.extend(l2)

列表删除元素

  • list.pop(index): 删除指定位置的一个元素
    • 返回值是删除元素的内容
  • list.remove(object): 删除指定内容的元素,
    • object: 指要删除的元素,只能删除第一个
  • list.clear(): 清空列表中的所有元素。
l1.pop(-1)
# 删除最后一个元素
l1.pop(-1)
# 删除指定元素7,只能删除第一个
l1.remove(7)
# 删除列表中所有的7,需要用循环。
l1 = [1, 2, 2, 1, 1, 7, 8]
for i in range(l1.count(1)):l1.remove(1)
print(l1)  # 结果:[2, 2, 7, 8]

列表索引排序

  • index():返回指定元素的第一个匹配项的索引。
  • count():返回指定元素在列表中出现的次数。
  • sort():对列表中的元素进行排序。
  • reverse():反转列表中的元素顺序。
my_list = [2024, 0, 9, 1 ,5 ,1, 6, 1, 5]
# 排序列表
my_list.sort()
print(my_list)  # 结果: [0, 1, 1, 1, 5, 5, 6, 9, 2024]
# 反转列表
my_list.reverse()
print(my_list)  # 结果: [2024, 9, 6, 5, 5, 1, 1, 1, 0]
# 1出现的次数
print(my_list.count(1))  # 结果:3
# 最后一次排序后1的位置
print(my_list.index(1))  # 结果:5

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89756781

如有问题请留言。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【运维监控】Prometheus+grafana+kafka_exporter监控kafka运行情况
  • linux 操作系统下的cut命令介绍和使用案例
  • JVM字节码
  • UVA1395 Slim Span(最小生成树)
  • Unity3d 以鼠标位置点为中心缩放视角(正交模式下)
  • 详解c++多态---上
  • 动态规划---不相交的线
  • 【前端】ref引用的作用
  • Golang、Python、C语言、Java的圆桌会议
  • Vue.js 计算属性
  • 数据结构:堆的算法
  • Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • ESP8266做httpServer提示Header fields are too long for server to interpret
  • 【论文分享精炼版】 sNPU: Trusted Execution Environments on Integrated NPUs
  • NAT技术
  • 收藏网友的 源程序下载网
  • #Java异常处理
  • js中的正则表达式入门
  • Mybatis初体验
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • React+TypeScript入门
  • Spring Boot快速入门(一):Hello Spring Boot
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 后端_ThinkPHP5
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端攻城师
  • 实现菜单下拉伸展折叠效果demo
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • ‌JavaScript 数据类型转换
  • (2.2w字)前端单元测试之Jest详解篇
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (C++17) std算法之执行策略 execution
  • (day6) 319. 灯泡开关
  • (十三)Flink SQL
  • (一)基于IDEA的JAVA基础1
  • (转) Face-Resources
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • .NET 4.0中的泛型协变和反变
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .Net Web窗口页属性
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET 的程序集加载上下文
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .net专家(张羿专栏)
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [AIGC 大数据基础]hive浅谈
  • [Android Studio 权威教程]断点调试和高级调试
  • [Android]使用Git将项目提交到GitHub
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [BeginCTF]真龙之力
  • [BIZ] - 1.金融交易系统特点
  • [BZOJ1053][HAOI2007]反素数ant