【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…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
沙箱虚拟化技术虚拟机容器之间的关系详解
问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西,但是如果把三者放在一起,它们之间到底什么关系?又有什么联系呢?我不是很明白!!! 就比如说: 沙箱&#…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
