【Python保姆级教程】List容器
文章目录
- 前言
- 一、列表是什么
- 二、列表的定义
- 2.1 有初始值
- 2.2 空列表
- 使用方括号创建空列表
- 使用list()函数创建空列表
- 三、list列表常用操作
- 3.1 添加元素
- 3.2 删除元素
- 3.3 修改元素
- 3.4 列表长度
- 四、遍历操作
- 4.1 使用for循环
- 4.2 使用while循环和索引
- 总结
前言
Python是一种广泛使用的高级编程语言,通过其丰富的标准库和第三方库,提供了许多数据结构和容器类型,用于组织和管理数据。容器是一种用于存储和操作一组数据的对象,它可以包含不同类型的元素。Python提供了多种容器类型,其中包括列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)。本文将重点介绍列表(List)作为一种常用的容器类型。
可以说,相对于C/C++,Python是非常Easy的,希望大家学习完后好好复习!以后还会有Python爬虫,大数据,人工智能。关注我吧,敬请期待后期教程推出!
一、列表是什么
列表的定义 列表是一种有序的可变容器,可以存储各种类型的元素,如整数、浮点数、字符串等。
二、列表的定义
2.1 有初始值
列表使用方括号 [] 定义,将元素用逗号分隔开。下面是一个示例代码:
fruits = ['apple', 'banana', 'orange']

2.2 空列表
创建空列表是指在Python中定义一个没有任何元素的列表对象。可以使用空的一对方括号 [] 或者使用 list() 函数来创建一个空列表。
使用方括号创建空列表
my_list = []
print(my_list) # 输出:[]


使用list()函数创建空列表
another_list = list()
print(another_list) # 输出:[]

在上述示例代码中,我们分别使用方括号和 list() 函数创建了两个空列表 my_list 和 another_list。打印输出这两个列表,可以看到它们都是空的,即不包含任何元素。
创建空列表的目的通常是为了在后续的代码中进行元素的添加、删除或者修改操作。可以使用列表的各种方法和操作来向空列表中添加和修改数据,以满足实际的编程需求。
三、list列表常用操作
常用操作 列表支持多种常用操作,如添加、删除、修改元素,以及获取列表长度。
3.1 添加元素
可以通过append()方法在列表末尾添加一个元素,或使用加号运算符将两个列表合并。示例代码如下:
fruits = ['apple', 'banana']
fruits.append('orange') # 添加元素 'orange'
print(fruits) # 输出:['apple', 'banana', 'orange']


more_fruits = ['grape', 'kiwi']
fruits = ['apple', 'banana']
fruits += more_fruits # 合并两个列表
print(fruits) # 输出:['apple', 'banana', 'orange', 'grape', 'kiwi']


3.2 删除元素
可以使用del语句删除指定位置的元素,或使用remove()方法删除指定的元素。示例代码如下:
fruits = ['apple', 'banana', 'orange']
del fruits[1] # 删除索引为1的元素 'banana'
print(fruits) # 输出:['apple', 'orange']


fruits = ['apple', 'banana', 'orange']
fruits.remove('orange') # 删除元素 'orange'
print(fruits) # 输出:['apple']


3.3 修改元素
可以通过索引直接修改列表中的元素。示例代码如下:
fruits = ['apple', 'banana', 'orange']
fruits[1] = 'grape' # 将索引为1的元素修改为 'grape'
print(fruits) # 输出:['apple', 'grape', 'orange']


3.4 列表长度
可以使用len()函数获取列表中元素的个数。示例代码如下:
fruits = ['apple', 'banana', 'orange']
print(len(fruits)) # 输出:3


四、遍历操作
可以使用循环结构对列表进行遍历操作,以访问列表中的每个元素。以下是两种常用的遍历方式的示例代码:
4.1 使用for循环
fruits = ['apple', 'banana', 'orange']
for fruit in fruits:print(fruit)


4.2 使用while循环和索引
fruits = ['apple', 'banana', 'orange']
index = 0
while index < len(fruits):print(fruits[index])index += 1


总结
列表是一种常用的容器类型,可用于保存多个元素,并提供了丰富的操作方式。通过下标索引可以访问、添加、删除和修改列表中的元素。此外,可以使用循环结构对列表进行遍历操作,以便逐个访问列表中的元素。掌握列表的定义和基本操作,有助于更好地处理和操作数据。在Python编程中,列表是一种十分重要的数据结构,可以灵活应用于各种实际问题的解决中。
可以说,相对于C/C++,Python是非常Easy的,希望大家学习完后好好复习!以后还会有Python爬虫,大数据,人工智能。关注我吧,敬请期待后期教程推出!
相关文章:
【Python保姆级教程】List容器
文章目录 前言一、列表是什么二、列表的定义2.1 有初始值2.2 空列表使用方括号创建空列表使用list()函数创建空列表 三、list列表常用操作3.1 添加元素3.2 删除元素3.3 修改元素3.4 列表长度 四、遍历操作4.1 使用for循环4.2 使用while循环和索引 总结 前言 Python是一种广泛使…...
微服务保护-授权规则
个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…...
v-if失效原因
一般v-if失效都是和绑定变量有关,我所知道的一般有两种 1.绑定的变量为String类型或者其他类型 就是返回的变量类型与所需要的布尔类型不匹配。 <template><div><div id"container" ref"container" v-iftype></div>&l…...
Chrome 基于 Wappalyzer 查看网站所用的前端技术栈
1. 找到谷歌商店 https://chrome.google.com/webstore/search/wappalyzer?utm_sourceext_app_menu 2. 搜索 Wappalyzer 3. 添加至Chrome 4. 使用 插件 比如打开 https://www.bilibili.com/ 就可以看到其所以用的前端技术栈了...
python的装饰器
作用:在不改变原来函数的代码情况下,进行修改,或者增加函数的功能装饰器本质上就是一个闭包雏形:def wrapper(fn): wrapper: 装饰器 , fn: 目标函数def inner():# 在目标函数执行前的一些动作fn()# 在目标函数执行后的一些动作return inner #千万别加(),这里是返回一…...
P2P协议的传输艺术
TP 采用两个 TCP 连接来传输一个文件。 控制连接:服务器以被动的方式,打开众所周知用于 FTP 的端口 21,客户端则主动发起连接。该连接将命令从客户端传给服务器,并传回服务器的应答。常用的命令有:list——获取文件目…...
辅助驾驶功能开发-功能规范篇(21)-4-XP行泊一体方案功能规范
XPilot Parking 自动泊车系统 • 超级自动泊车辅助(Super AutoParking Assist)、语音控制泊车辅助(Autoparking with Speech) - 产品定义 超级自动泊车辅助是⼀个增强的自动泊车辅助系统。在超级自动泊车辅助系统中,识别车位将会变得实时可见, 并且不可泊入的⻋位也将…...
家政服务小程序上门服务小程序预约上门服务维修保洁上门服务在线派单技师入口
套餐一:源码=1500元 套餐二:全包服务 包服务器+域名+认证小程序+搭建+售后=2000元 主要功能: 1、服务商入驻 支持个人或企业入驻成为平台服务商; 2、发布商品 入驻服务商后,可以发布服务商品,用户可以在线下单,预约服务; 3、发布需求 用户可以发布一口价或竞价需求…...
LeetCode精选100题-【3数之和】-2
这里写自定义目录标题 解法1:解法2: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不…...
springboot集成mybatis-plus
一、在spring boot中配置mybatis-plus 1、创建一个spring boot项目,注意勾选mysql 2、在pom.xml文件中添加mybatis-plus的依赖包 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0&qu…...
再想一想GPT
一 前言 花了大概两天时间看完《这就是ChatGPT》,触动还是挺大的,让我静下来,认真地想一想,是否真正理解了ChatGPT,又能给我们以什么样的启发。 二 思考 在工作和生活中,使用ChatGPT或文心一言,…...
Blazor前后端框架Known-V1.2.15
V1.2.15 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。 Gitee: https://gitee.com/known/KnownGithub:https://github.com/known/Known 概述 基于C#和Blazo…...
Tomcat 的部署和优化
目录 1、什么是Tomcat 1.1、静态页面的选择 2、Tomcat是怎么运行的 3、安装jdk & 部署jdk环境 & Tomcat 安装 1、安装jdk 2、配置jdk环境变量 3、tomcat安装 4、Tomcat启动 5.优化tomcat启动速度 6.Tomcat的主要命令 7.Tomcat 配置虚拟主机 8.Tomca…...
后端中间件安装与启动(Redis、Nginx、Nacos、Kafka)
后端中间件安装与启动 RedisNginxNacosKafka Redis 1.打开cmd终端,进入redis文件目录 2.输入redis-server.exe redis.windows.conf即可启动,不能关闭cmd窗口 (端口配置方式:redis目录下的redis.windows.conf配置文件,…...
【电子元件】常用电子元器件的识别之电阻器
目录 前言1. 电阻器的识别1.1 普通电阻器的识别1. 普通电阻器的识别色环电阻器绕线电阻器水泥电阻器贴片电阻器网络电阻器(排阻)保险电阻器精密电阻器2. 电阻器的符号3. 普通电阻器的主要参数标称阻值和允许误差额定功率最高工作电压温度系数1.2 电位器的识别1. 电位器的识别…...
指针和数组笔试题讲解(2)
🐵本篇文章将会对上篇一维数组笔试题的剩余部分和二维数组的笔试题进行讲解 一、一维数组 1>试题部分(一)✏️ char* p "abcdef";printf("%zd\n", sizeof(p)); printf("%zd\n", sizeof(p 1)); printf("%zd\n", sizeo…...
MapReduce YARN 的部署
1、部署说明 Hadoop HDFS分布式文件系统,我们会启动: NameNode进程作为管理节点DataNode进程作为工作节点SecondaryNamenode作为辅助 同理,Hadoop YARN分布式资源调度,会启动:ResourceManager进程作为管理节点NodeM…...
vue 引入zTree
下载js包解压后找个地方放文件夹内 引入 import "/common/zTree/js/jquery-1.4.4.min" import "/common/zTree/js/jquery.ztree.core.min.js" import "/common/zTree/js/jquery.ztree.excheck.min.js" import "/common/zTree/css/metroSt…...
链队列的基本操作(带头结点,不带头结点)
结构体 typedef struct linknode{int data;struct linknode* next;后继指针 }linknode; typedef struct {linknode* front, * rear;//队头队尾指针 }linkquene; 初始化队列(带头结点) int initquene(linkquene* q)//初始化队列 {q->front q->r…...
深入学习 Redis Cluster - 基于 Docker、DockerCompose 搭建 Redis 集群,处理故障、扩容方案
目录 一、基于 Docker、DockerCompose 搭建 Redis 集群 1.1、前言 1.2、编写 shell 脚本 1.3、执行 shell 脚本,创建集群配置文件 1.4、编写 docker-compose.yml 文件 1.5、启动容器 1.6、构建集群 1.7、使用集群 1.8、如果集群中,有节点挂了&am…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
