博客
关于我
Python 列表(List)概述-ChatGPT4o作答
阅读量:797 次
发布时间: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/

你可能感兴趣的文章
Python Web开发
查看>>
Redis 配置文件杂项。
查看>>
Python web自动化测试 —— 文件上传
查看>>
Python web自动化测试 —— 文件上传!
查看>>
Python Web自动化测试开发环境搭建(附安装包与虚拟机环境)
查看>>
python win32api键盘_Python win32api.keybd_event模拟键盘输入
查看>>
python Windows显示当前鼠标坐标
查看>>
python Workbook 表格宽度
查看>>
python write报错a byte-like object is required.not str
查看>>
PYTHON调用大模型实现图片生成
查看>>
python yaml.dump 缩进错误
查看>>
Python yield generator
查看>>
Python yield 使用浅析
查看>>
Python yield解析:深入理解生成器的魔力
查看>>
Python You are using pip version 10.0.1, however version 19.3.1 is available.
查看>>
python zipfile模块学习笔记(一)
查看>>
Python zip函数 详解(全)
查看>>
Python \r\n与\n的转换
查看>>
python __new__中单例的作用
查看>>
python | aiofiles,一个超酷的 Python 库!
查看>>