博客
关于我
Python 列表(List)概述-ChatGPT4o作答
阅读量:796 次
发布时间:2023-03-07

本文共 3068 字,大约阅读时间需要 10 分钟。

Python 列表(List)概述

列表(List)在 Python 中是一个非常重要的数据结构,用于存储和管理多个项目。它具有有序性和可变性,可容纳不同类型的元素,是 Python 中最常用的数据类型之一。列表广泛应用于数据的收集、存储和处理等场景。

列表的基本特点

  • 有序:列表中的元素按插入顺序排列,支持索引访问。
  • 可变:可以在原地修改、增加或删除元素。
  • 允许重复:列表中的元素可以重复。
  • 支持不同数据类型:可以包含整数、字符串、浮点数、布尔值等多种类型。
  • 使用方括号 [ ] 创建

创建列表

可以通过方括号 [ ] 创建一个列表,元素之间使用逗号 , 分隔。以下是一些常用的创建方式:

# 创建一个包含整数的列表numbers = [1, 2, 3, 4, 5]# 创建一个包含不同数据类型的列表mixed_list = [1, "apple", 3.14, True]# 创建一个空列表empty_list = []# 使用 list() 函数创建列表list_from_range = list(range(5))  # [0, 1, 2, 3, 4]

访问列表元素

通过索引访问列表中的元素,索引从 0 开始。支持正数和负数索引:

my_list = [10, 20, 30, 40, 50]# 正索引访问print(my_list[0])  # 10print(my_list[2])  # 30# 负索引访问print(my_list[-1])  # 50print(my_list[-3])  # 30

列表切片(Slicing)

切片操作可以获取列表的子集,语法为 list[start:stop:step]

  • start 是起始索引(包括该元素)。
  • stop 是结束索引(不包括该元素)。
  • step 是步长(默认为 1)。
my_list = [10, 20, 30, 40, 50]# 获取从索引 1 到索引 3 之间的元素sub_list = my_list[1:3]  # [20, 30]# 获取从索引 0 到结束的所有元素sub_list = my_list[:4]  # [10, 20, 30, 40]# 获取从索引 2 到结束的所有元素,每隔 2 个取一个sub_list = my_list[2::2]  # [30, 50]# 获取列表的反向reverse_list = my_list[::-1]  # [50, 40, 30, 20, 10]

修改列表元素

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

my_list = [10, 20, 30, 40, 50]# 修改索引 2 处的元素my_list[2] = 100print(my_list)  # [10, 20, 100, 40, 50]# 使用切片修改多个元素my_list[1:3] = [200, 300]print(my_list)  # [10, 200, 300, 40, 50]

添加元素到列表

可以使用 append()insert()extend() 方法添加元素:

my_list = [10, 20, 30]# 使用 append() 添加元素my_list.append(40)print(my_list)  # [10, 20, 30, 40]# 使用 insert() 在指定位置添加元素my_list.insert(1, 15)print(my_list)  # [10, 15, 20, 30, 40]# 使用 extend() 将另一个列表添加到当前列表my_list.extend([50, 60])print(my_list)  # [10, 15, 20, 30, 40, 50, 60]

删除列表元素

可以通过 remove()pop()del 语句和 clear() 方法删除元素:

my_list = [10, 20, 30, 40, 50]# 删除第一个匹配的元素my_list.remove(30)print(my_list)  # [10, 20, 40, 50]# 删除并返回指定索引的元素popped_element = my_list.pop(2)print(popped_element)  # 40print(my_list)  # [10, 20, 50]# 使用 del 删除指定索引的元素del my_list[1]print(my_list)  # [10, 50]# 清空列表my_list.clear()print(my_list)  # []

列表的常用操作

  • 长度:使用 len() 函数获取列表长度:

    my_list = [10, 20, 30]print(len(my_list))  # 3
  • 检查元素是否存在:使用 in 运算符:

    my_list = [10, 20, 30]print(20 in my_list)  # Trueprint(40 in my_list)  # False
  • 连接列表:使用 + 运算符:

    list1 = [1, 2, 3]list2 = [4, 5, 6]combined = list1 + list2print(combined)  # [1, 2, 3, 4, 5, 6]
  • 重复列表:使用 * 运算符:

    my_list = [1, 2]repeated_list = my_list * 3print(repeated_list)  # [1, 2, 1, 2, 1, 2]
  • 排序:使用 sort() 方法或 sorted() 函数:

    my_list = [3, 1, 4, 1, 5, 9, 2, 6]# 使用 sort() 方法原地排序my_list.sort()print(my_list)  # [1, 1, 2, 3, 4, 5, 6, 9]# 使用 sorted() 返回排序后的新列表new_list = sorted(my_list, reverse=True)print(new_list)  # [9, 6, 5, 4, 3, 2, 1, 1]

嵌套列表

列表可以包含其他列表,形成嵌套结构。可以通过索引访问嵌套列表中的元素:

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]print(nested_list[0])  # [1, 2, 3]print(nested_list[1][2])  # 6

列表推导式(List Comprehension)

列表推导式是一种简洁的创建列表的方式,支持条件过滤:

# 创建一个包含 1 到 10 的平方的列表squares = [x**2 for x in range(1, 11)]print(squares)  # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]# 过滤出偶数的平方even_squares = [x**2 for x in range(1, 11) if x % 2 == 0]print(even_squares)  # [4, 16, 36, 64, 100]

总结

  • 列表是 Python 中一种灵活的数据结构,支持多种操作。
  • 列表具有可变性和有序性,适用于存储和处理集合数据。
  • 列表操作丰富,支持切片、索引、列表推导式等高效操作。

转载地址:http://mcofk.baihongyu.com/

你可能感兴趣的文章
PyQt5学习笔记——信号与槽
查看>>
pyqt5教程11:绘制外观
查看>>
pyqt5教程12:拖放功能
查看>>
Pytest框架环境切换实战教程!赶快收藏
查看>>
Pytest测试框架快速搭建
查看>>
python - 如何并行化python numpy中的总和计算?
查看>>
python - 将字符串中的日期与今天的日期进行比较
查看>>
python - 数据描述符(class 内置 get/set/delete方法 )
查看>>
python binascii.Error: Incorrect padding
查看>>
Python C 程序子进程在“for line in iter“处挂起
查看>>
python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令
查看>>
python ctypes库中动态链接库加载方式
查看>>
python cv2 图像( np array )转 HObject
查看>>
python cv2截取不规则区域图片
查看>>
python CV2裁剪图片并保存
查看>>
python cv2读取rtsp实时码流按时生成连续视频文件
查看>>
Python Dataframe Groupby Mean和Std
查看>>
python datetime
查看>>
python datetime笔记
查看>>
python day01
查看>>