04_Python数据类型_列表

ops/2024/10/22 16:21:18/

在这里插入图片描述

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

如有问题请留言。


http://www.ppmy.cn/ops/112829.html

相关文章

MybatisPlus的一点了解

1.MybatisPlus使用: (1)Serializable id 这种参数要怎么传入值,对应的底层调用和数据库表格命名和实体类映射之间有什么关系 在 Java 中,Serializable 是一个标记接口,它表示一个类的实例可以被序列化&am…

0918作业

一、整理 1)ls:查看文件信息 2)passwd:修改密码 3)cd:切换目录 4)touch:创建文件 5)mkdir:创建文件夹 6)cp:拷贝文件 7)mv&#xff1…

文件操作

1.文件的打开和关闭 文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。 在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。ANSI C规定使用fopen函数来打开文…

软考中级软件设计师——存储系统

软考中级软件设计师——存储系统 存储系统(层次结构)存储系统分类高速缓存CacheCache组成Cache的三种地址映像Cache的性能分析 主存的扩展位扩展和字扩展主存的编址虚拟存储器磁盘存储器 存储系统(层次结构) 核心:在存…

AI问答-Vue实例属性/实例方法:$refs、$emit、$attrs、$props、$data...

一、本文简介 在Vue.js中,$ 符号通常用于表示Vue实例或组件上的内置属性和方法,这些被称为“实例属性”或“实例方法”。以下是一些常见的以$开头的Vue实例属性和方法 1.1、实例属性 序号实例属性解释1$dataVue实例的数据对象,用于存储组件…

SpringMVC与SpringBoot的区别

SpringMVC 和 Spring Boot 都是 Spring 框架的一部分,但它们的功能和目标有明显的不同。 形式上:SpringBoot是一个自动化配置的工具;SpringMVC是一个web框架。 在搭建项目时:SpringMVC需要手动配置xml文件,同时需要配…

鸿蒙开发之ArkUI 界面篇 十二 背景属性

backgroundColor背景色(纯颜色,没法实现立体感之类高级效果)、 backgroundImage背景图(一般是设计师设计好的图)、 backgroundImageSize背景图尺寸(用于调整背景图的尺寸)、 backgroundImagePosition背景图位置(用于调整背景图的位置)。 背景图的添加是属性backgrou…

深入理解Go语言中的接口定义与使用

在Go语言的编程实践中,接口(Interface) 是一个强大而灵活的特性,它允许我们定义一组方法,而不需要指定这些方法的具体实现。通过接口,我们可以将不同类型的值组合在一起,只要它们实现了接口中定…