文章目录

  • 创建列表
  • 基本操作
  • 访问元素(索引)
  • 切片操作
  • 修改列表
  • 常用方法
  • 列表推导式
  • 多维列表

列表是 Python 中最基本、最常用的数据结构之一,它是一个有序的可变集合,可以包含不同类型的元素。

创建列表

# 空列表
empty_list = []
empty_list = list()# 包含元素的列表
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']
mixed = [1, 'hello', 3.14, True]

基本操作

访问元素(索引)

my_list = ['a', 'b', 'c', 'd', 'e']# 通过索引访问(从0开始)
print(my_list[0])  # 'a'
print(my_list[2])  # 'c'# 负索引表示从末尾开始
print(my_list[-1])  # 'e'
print(my_list[-2])  # 'd'

切片操作

my_list = ['a', 'b', 'c', 'd', 'e']# 获取子列表
print(my_list[1:3])  # ['b', 'c']
print(my_list[:3])   # ['a', 'b', 'c']
print(my_list[2:])   # ['c', 'd', 'e']
print(my_list[:])    # 复制整个列表# 步长
print(my_list[::2])  # ['a', 'c', 'e']

修改列表

列表的增删改查操作

# 修改元素
my_list[1] = 20  # [1, 20, 3, 4]print("索引修改:", my_list)# 添加元素
my_list.append(5)      # 末尾添加 [1, 20, 3, 4, 5]
print("append添加:", my_list)
my_list.insert(1, 1.5) # 指定位置插入 [1, 1.5, 20, 3, 4, 5]
print("append添加:", my_list)# 删除元素
del my_list[0]         # 删除指定位置 [1.5, 20, 3, 4, 5]
print("del删除:", my_list)
my_list.remove(20)     # 删除第一个匹配项 [1.5, 3, 4, 5]
print("remove删除匹配项", my_list)
popped = my_list.pop() # 删除并返回最后一个元素 [1.5, 3, 4], popped=5
print("pop删除最后一个元素", my_list)
print("popped  = ", popped)

常用方法

my_list = [1, 2, 3, 4, 5]# 长度
length = len(my_list)  # 5
print(f"length is {length}")# 连接列表
new_list = my_list + [6, 7, 8]
print(f"new_list is {new_list}")# 重复列表
repeated = my_list * 2  # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(f"repeated is {repeated}")# 排序
my_list = [1, 5, 4, 3, 2]
my_list.sort()          # 原地排序
print(f"my_list is {my_list}")
sorted_list = sorted(my_list)  # 返回新排序列表
print(f"sorted_list is {sorted_list}")# 反转
my_list = [1, 5, 4, 3, 2]
my_list.reverse()       # 原地反转
print(f"my_list is {my_list}")
reversed_list = my_list[::-1]  # 创建反转副本
print(f"reversed_list is {reversed_list}")# 查找
index = my_list.index(3)  # 返回第一个3的索引
print(f"index is {index}")
count = my_list.count(3)  # 计算3出现的次数
print(f"count is {count}")# 清空
my_list.clear()  # []
print(f"my_list is {my_list}")

列表推导式

# 创建平方数列表
squares = [x**2 for x in range(10)]# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]# 嵌套列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]

嵌套列表推导式分析:
嵌套列表推导式等价于两个for循环。

flattened = [num for row in matrix for num in row]# 等价于
flattened = []
for row in matrix:      # 遍历 matrix 的每一行for num in row:     # 遍历当前行的每个元素flattened.append(num)  # 将元素添加到新列表

多维列表

# 多维列表(矩阵)
matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9,[10, 11, 12]]
]# 访问元素
print(matrix)  # [[1, 2, 3], [4, 5, 6], [7, 8, 9, [10, 11, 12]]]
print(matrix[1])  # [4, 5, 6]
print(matrix[2])  # [7, 8, 9, [10, 11, 12]]
print(matrix[1][2])  # 6
print(matrix[2][3][2])  # 12# IndexError: list index out of range
# print(matrix[3])  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90284.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90284.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/90284.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32-S3学习笔记<3>:UART的应用

ESP32-S3学习笔记<3>:UART的应用1. 头文件包含2. UART的配置2.1 uart_num的选择2.2 uart_config的设定2.2.1 baud_rate/波特率设置2.2.2 data_bits/数据位数设置2.2.3 parity/奇偶校验位设置2.2.4 stop_bits/停止位设置2.2.5 flow_ctrl/流控位…

【Vue3】加载高德地图案例

官方API:展示地图-入门教程-地图 JS API 2.0 | 高德地图API 1、获取高德Key 参考:准备-地图 JS API 2.0 | 高德地图API 2、创建工程 npm create vitelatest 3、下载依赖集运行项目 npm install npm i amap/amap-jsapi-loader --save npm run dev 4、编写核心…

【工具】Pycharm隐藏侧边灯泡提示

问题描述 在Pycharm中,每行前面很容易出现一个小灯泡,有时候很影响操作,需要将其取消掉设置方法打开设置 按 CtrlAltS 打开设置对话框或者通过菜单 File → Settings(在 macOS 上是 PyCharm → Preferences)导航到外观…

XSS相关理解

由于本人对一小部分dom型xss、原型链污染和存储型xss理解不够透彻,因此在本篇文章中原型链污染和存储型xss偏重进行概念理解或简单的代码理解,随后会慢慢补充 文章目录1 XSS概述1.1 什么是XSS?1.2 XSS主要分三种类型2 XSS基础2.1 XSS基础练习…

Odoo:免费开源的金属制品行业ERP管理软件

引言开源智造Odoo数字化解决方案专家团队意识到,在当今全球市场中,将盈利能力和竞争力最大化的机会促使许多金属制品制造商投资于推进业务发展的新技术。金属制品会计软件是企业用来处理他们业务和增加利润的解决方案。某金属制品加工工艺流程图&#xf…

Ubuntu22.04配置GTest测试框架

前言 鸿蒙系统的代码仓库使用GTest作为单元测试的工具。特性开发时,需要写demo以验证开发思路。因此有必要搭建GTest开发环境配合鸿蒙特性开发做开发demo。 我测试环境是wsl2 Ubuntu22.04 LTS。 搭建过程 安装必备C组件 sudo apt install -y unzip g gcc cmake …

学习日志15 python

1 filter() 函数filter(function, iterable)filter函数是python中的高阶函数, 第一个参数是一个筛选函数, 第二个参数是一个可迭代对象, 返回的是一个生成器类型, 可以通过next获取值。filter() 函数是 Python 内置的高阶函数,其主要功能是对可迭代对象中的每个元素…

Linux 环境下安装 MySQL 8.0.34 二进制 详细教程 附docker+k8s启动

文章目录Linux 环境下安装 MySQL 8.0(二进制)详细教程准备工作安装依赖包下载并解压 MySQL下载 MySQL 二进制包解压 MySQL移动目录并创建 MySQL 用户配置 MySQL配置数据目录与日志目录编辑配置文件 /etc/my.cnf初始化 MySQL 数据库配置启动脚本与环境变量…

HTML ISO-8859-1: 完全解析

HTML ISO-8859-1: 完全解析 引言 ISO-8859-1,又称为 Latin-1,是一种广泛使用的字符编码标准,特别是在HTML文档中。本文将详细介绍ISO-8859-1编码的特点、应用场景以及如何在使用HTML时正确地使用ISO-8859-1编码。 ISO-8859-1编码概述 定义 ISO-8859-1编码是一种单字节编…

c++学习第3篇编辑器——centos7.9.2009系统离线安装clion软件并成功调试c++程序

远程linux服务器安装clion0 前提2个:1 下载CLion-2021.1.1.tar.gz安装包2 上传到linux系统并解压3 修改linux系统里的/etc/ssh/sshd_config文件中的X11UseLocalhost 注释去掉并设为no4 安装xauth5 安装MobaXterm软件并使用ssh组件打开clion5.1 如果打不开clion,报错…

20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到lz4的问题

20250722解决在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13出现找不到lz4的问题 2025/7/22 15:21缘起:在Ubuntu 24.04.2下编译RD-RK3588开发板的Android13。 报错:/bin/sh: 1: lz4: not found为了简单起见,直接在 荣品的技术支持QQ群的 …

加载用户设置时遇到错误找到一个带有无效“icon“的配置文件。将该配置文件默认为无图标。确保设置“icon“时,该值是图像的有效文件路径“

"C:\Users\Yourname\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json 修改所有icon字段位none 如:{"guid": "{bf61c995-08cc-4a56-b781-5dba411ef19c}","hidden": false,"icon&…

如何提升连带消费?从新零售“人-货-场”模型拆解

目录 一、分析背景 二、新零售分析思路和分析方法 1.具体分析思路 2.分析方法 三、新零售“人-货-场”分析的实操步骤 1.数据收集 2.数据处理 3.图表制作 四、总结 想让线上引来的顾客,在店里多买几件? 连带消费可是实体店赚钱的“秘密武器”&a…

Java异常处理核心原理与最佳实践

Java异常处理核心原理与最佳实践 场景: 你开发的文件处理工具在读取用户上传的文件时突然崩溃,控制台抛出FileNotFoundException。用户的操作被中断,数据丢失。这种糟糕的体验正是异常处理机制要解决的核心问题——如何在程序出错时优雅地恢复…

Ubuntu 安装 Odoo 17 详细教程

Ubuntu 安装 Odoo 17 详细教程 本教程将指导您在 Ubuntu 系统上从源代码安装 Odoo 17。Odoo 是一款功能强大的开源 ERP 和 CRM 软件套件。本教程适用于希望自行配置和管理 Odoo 环境的用户,尤其适合开发者和系统管理员。 教程概述 本教程将涵盖以下步骤&#xff…

鲲鹏·卓识系列2.45G传感器型有源标签:以国产化技术重塑安全监测与人员管理新标准

标题:鲲鹏卓识系列2.45G传感器型有源标签:以国产化技术重塑安全监测与人员管理新标准 随着工业4.0和智慧城市建设的加速推进,安全生产、环境监测和人员管理成为各行业的核心需求。在军事、工业、仓储、能源等领域,温湿度、烟雾、油…

腾讯云推出CodeBuddy:革新AI全栈开发体验

文章目录一、前言二、安装流程三、CodeBuddy 核心功能3.1 AI辅助开发3.2 Coding Design Chat 三大模式3.3 Boost Prompt3.4 Figma 集成3.5 Componen 控件库3.6 Config MCP3.7 Upload Images 图片上传和管理3.8 Preview功能3.9 Deploy 一键部署3.10 项目展示 | MCP生成小红书卡片…

龙虎榜——20250723

上证指数放量收上影线,未站上3600点,个股下跌明显多于上涨,指数有调整需求,注意短线风险。深证指数较昨日缩量收阴线,依然在5日均线上方运行,打到前期平台高点有震荡调整需求,注意风险。2025年7…

SpringBoot06-@ConfigurationProperties注解

ConfigurationProperties注解用于将配置文件(application.properties 或 application.yml)中的配置值,自动绑定到 Java Bean 对象上。1-1、基本用途比如我们在 application.yml 中有这样一段配置:app:name: myAppversion: 1.0.0au…

oracle里面concat函数用法,oracle wm_concat函数用法-

wmsys.wm_concat函数,它的作用是以’,’链接字符 例子如下: SQL> create table idtable (id number,name varchar2(30)); Table created SQL> insert into idtable values(10,’ab’); 1 row inserted SQL> insert into idtable values(10,’bc…