【Python数据容器】--- 列表的基本使用

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【Python小白从入门到精通】🎈
本专栏旨在分享学习Python的一点学习心得,欢迎大家在评论区讨论💌
在这里插入图片描述

在学习数据容器之前,我们先来了解一下什么是数据容器。

数据容器概念:一种可以容纳多种数据的数据类型,容纳的每一份数据称之为一个元素,数据可以是多种类型的数据,比如字符串、数字、布尔等类型。

数据元素根据元素的特点分为5类:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

目录

  • 一、列表的定义
  • 二、列表的下标索引
    • 嵌套列表的索引
  • 三、列表方法的使用
    • 查找元素
    • 修改下标索引值
    • 插入元素
    • 追加元素
    • 删除元素
    • 列表清空
    • 统计某元素在列表内的数量
  • 四、列表的遍历

一、列表的定义

基本语法:

# 字面量
[元素1,元素2,元素3,元素4, ...]# 定义变量
变量名称 = [元素1,元素2,元素3,元素4...]# 定义空列表
变量名称 = []
变量名称 = list()

举个例子:

mylist_1 = ['你好',123,True]
print(mylist_1)
print(type(mylist_1))

在这里插入图片描述

注意点

  • 列表既然一次可以存储多个数据的话,那说明列表支持嵌套使用。元素的数据类型没有限制,甚至元素可以是列表。
  • 一定不要超出下标索引的取值范围,否则会报错。
# 嵌套列表
mylist_02 = [[1,2,3],[4,5,6]]
print(mylist_02)
print(type(mylist_02))

在这里插入图片描述

二、列表的下标索引

列表的下标索引:
在这里插入图片描述
通过列表[下标]的方式可以取出列表中的元素。

列表中的每个元素都有其位置下标索引如果是从左到右的话下标从0开始,依次递增;如果是从右往左的话,下标从-1开始,依次递减。
举例:
在这里插入图片描述

mylist_03 = [123,True,'hello world',12.3]
print(mylist_03[-4],mylist_03[-3])
print(mylist_03[0],mylist_03[1])

在这里插入图片描述

嵌套列表的索引

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

在这里插入图片描述

三、列表方法的使用

列表的方法如下:

  • 查找元素
  • 修改元素
  • 插入元素
  • 追加元素
  • 删除元素
  • 清空列表
  • 统计列表中元素的个数

下面将一一对这些方法进行介绍。

查找元素

列表查找语法格式:列表.index[查找元素]

查找列表元素在列表中的索引。请看:

# 查找元素
mylist_05 = [1,2,3,[4,5,6]]
index = mylist_05.index([4,5,6])
print(f"[4,5,6]在列表中的下标索引为{index}")

在这里插入图片描述
那如果我们查找的元素在列表中不存在会使是什么情况呢,请看:

# 错误演示
mylist_06 = [1,2,3,[4,5,6]]
index = mylist_06.index(7)
print(index)

可以看到的确是出错了,请看:
在这里插入图片描述

修改下标索引值

语法格式:列表[下标] = 值

请看举例:

mylist_06 = [1,2,3,4]
print(f"修改前:{mylist_06}")
mylist_06[0] = 0
mylist_06[1] = 1
mylist_06[2] = 2
mylist_06[3] = 3
print(f"修改后:{mylist_06}")

在这里插入图片描述

插入元素

语法格式:列表.insert(下标,元素)。即在指定的下标位置插入指定的元素。

举例:

# 插入下标元素
mylist_07 = [1,2,3,4]
print(mylist_07)
mylist_07.insert(0,0)
print(mylist_07)

在这里插入图片描述

追加元素

追加元素有两种方式:

  • 方式一:语法:列表.append(元素)。即将指定元素追加到列表的尾部,相当于尾插。
  • 方式二:语法:列表.extend(其他数据容器),即将其它数据容器的内容取出并依次追加到列表的尾部

方式一:

语法:列表.append(元素)。即将指定元素追加到列表的尾部,相当于尾插。

举例:

# 追加元素
mylist_08 = [1,2]
mylist_08.append(3)
mylist_08.append(4)
print(mylist_08)

在这里插入图片描述
方式二:
语法:列表.extend(其他数据容器),即将其它数据容器的内容取出并依次追加到列表的尾部

举例:

# 方式二:
mylist_09 = [1,2,3,4]
tmp_list = [5,6,7]
mylist_09.extend(tmp_list)
print(mylist_09)

在这里插入图片描述

删除元素

删除元素也有两种方式:

  • del 列表[下标]
  • 列表.pop(下标),注意pop方法会返回要删除的元素,可以使用变量来进行接收。

举例:

# 删除元素
mylist_09 = [1,2,3,4]
# 方式一:del 列表[下标]
del mylist_09[3]
print(f"通过del方法删除元素后的列表内容为{mylist_09}")
# 方式二:列表.pop(下标)
tmp = mylist_09.pop(2)
print(f"通过pop方式删除元素后的列表内容为{mylist_09},删除的元素为{tmp}")

在这里插入图片描述

还有一种删除元素的方法:
语法列表.remove(元素),删除某元素在列表中的第一个匹配项。

举例:

mylist_10 = [1,2,3,4,5,6,7]
mylist_10.remove(7)
print(mylist_10)

在这里插入图片描述

列表清空

语法:列表.clear(),即清空整个列表。
举例:

mylist_11 = [1,2,3,4,5,6,7,8]
print(mylist_11)
mylist_11.clear()
print(mylist_11)

在这里插入图片描述
在这里插入图片描述

统计某元素在列表内的数量

语法:列表.count(元素)。统计某元素在列表内的数量并返回。

举例:

mylist_12 = [1,1,2,2,2,3,4,4,4,4,4]
print(mylist_12.count(1))
print(mylist_12.count(2))
print(mylist_12.count(3))
print(mylist_12.count(4))

在这里插入图片描述

四、列表的遍历

遍历列表主要有两种方式:一种是for循环,另外一种就是while循环来进行遍历。

我们来使用for循环或者while循环来遍历输出列表中的每个元素。

基本格式如下:

# while循环遍历列表
index = 0
while index < len(列表):元素 = 列表[index]处理列表元素index += 1# for循环遍历列表
for 临时变量 in 数据容器:对临时变量进行处理

请看举例(while循环):

# while循环来遍历输入元素
mylist1 = [1,2,3,4]
index = 0
while index < len(mylist1):tmp = mylist1[index]print(tmp)index += 1

在这里插入图片描述

请看举例(for循环):

# for循环来遍历输入元素
mylist2 = [5,6,7,8]
for tmp in mylist2:print(tmp,end = " ")

在这里插入图片描述

好了,以上就是Python数据容器中列表的基本使用。
就到这里啦,再见啦友友们!!!

在这里插入图片描述

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

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

相关文章

GitHub霸榜的顶级分布式笔记,阿里内部独家分享

微服务因其高内聚、低耦合、高扩展、敏捷开发为很多企业所用&#xff0c;当然&#xff0c;没有任何一项技术是完美的。系统微服务化后&#xff0c;一个看似简单的功能&#xff0c;内部可能需要调用多个服务器并操作多个数据库实现。 毫不夸张地说&#xff0c;分布式事务已经成…

STDF - 基于 Svelte 和 Tailwind CSS 打造的移动 web UI 组件库,Svelte 生态里不可多得的优秀项目

Svelte 是一个新兴的前端框架&#xff0c;组件库不多&#xff0c;今天介绍一款 Svelte 移动端的组件库。 关于 STDF STDF 是一个移动端的 UI 组件库&#xff0c;主要用来开发移动端 web 应用。和我之前介绍的很多 Vue 组件库不一样&#xff0c;STDF 是基于近来新晋 js 框架 S…

预测赢家(力扣)dfs + 备忘录 JAVA

给你一个整数数组 nums 。玩家 1 和玩家 2 基于这个数组设计了一个游戏。 玩家 1 和玩家 2 轮流进行自己的回合&#xff0c;玩家 1 先手。开始时&#xff0c;两个玩家的初始分值都是 0 。每一回合&#xff0c;玩家从数组的任意一端取一个数字&#xff08;即&#xff0c;nums[0]…

51单片机学习-AT24C02数据存储秒表(定时器扫描按键数码管)

首先编写I2C模块&#xff0c;根据下面的原理图进行位声明&#xff1a; sbit I2C_SCL P2^1; sbit I2C_SDA P2^0;再根据下面的时序结构图编写函数&#xff1a; /*** brief I2C开始* param 无* retval 无*/ void I2C_Start(void) {I2C_SDA 1; I2C_SCL 1; I2C_SDA 0;I2C_S…

SDXL 1.0出图效果直逼Midjourney!手把手教你快速体验!

介绍 最近&#xff0c;Stability AI正式推出了全新的SDXL 1.0版本。经过我的实际测试&#xff0c;与之前的1.5版本相比&#xff0c;XL的效果有了巨大的提升&#xff0c;可以说是全方位的超越。不仅在理解提示词方面表现出色&#xff0c;而且图片的构图、颜色渲染和画面细腻程度…

高绩效项目管理助力企业数字化变革︱海克斯康数字智能大中华区PMO经理周游

海克斯康数字智能大中华区PMO经理周游先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;高绩效项目管理助力企业数字化变革。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 在当今项目驱动的…

全网首档操作系统探访体验栏目“龙蜥+超级探访”震撼上线!看国产 OS 如何乘风破浪

编者按&#xff1a;随着龙蜥社区规模的迅速壮大&#xff0c;为了更好的服务于生态伙伴和广大用户&#xff0c;龙蜥社区推出“全网首档操作系统探访体验节目”《龙蜥超级探访》&#xff0c;该栏目将带领大家走进龙蜥的生态伙伴和用户现场&#xff0c;共同揭示龙蜥与生态伙伴如何…

Django实现音乐网站 ⑻

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是后台对单曲原有功能的基础上进行部分功能实现和显示优化。 目录 新增编辑 歌手下拉显示修改 设置歌曲时长 安装eyed3库 获取mp3时长 歌曲时长字段修改 重写save方法 增加歌手单曲数量 查询歌手单曲数量 …

爬虫011_元组高级操作_以及字符串的切片操作---python工作笔记030

获取元组的下标对应的值 注意元组是不可以修改值的,只能获取不能修改 但是列表是可以修改值的对吧

GO学习之 网络通信(Net/Http)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、 文章目录 GO系列前言一、H…

手写SpringCloud系列-一分钟理解微服务注册中心(Nacos)原理。

手写SpringCLoud项目地址&#xff0c;求个star github:https://github.com/huangjianguo2000/spring-cloud-lightweight gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh 一&#xff1a;什么是注册中心 1. 总结服务注册中心 我们可以理解注册中心就是一个…

【100天精通python】Day28:文件与IO操作_JSON文件处理

目录 专栏导读 1. JSON数据格式简介 1.1 示例JSON数据 1.2 JSON文件的特点 2 json模块的常用操作 2.1 读写JSON文件的示例 2.2 解析JSON字符串 2.3 修改JSON数据 2.4 查询和操作嵌套数据 2.5 处理包含特殊字符的JSON文件 2.6 处理日期和时间 2.7 处理大型JSON文…

Ceph入门到精通-远程开发Windows下使用SSH密钥实现免密登陆Linux服务器

工具&#xff1a; win10、WinSCP 服务器生成ssh密钥&#xff1a; 打开终端&#xff0c;使账号密码登录&#xff0c;输入命令 ssh-keygen -t rsa Winscp下载 Downloading WinSCP-6.1.1-Setup.exe :: WinSCP window 生成密钥 打开powershell ssh-keygen -t rsa 注意路径 …

JVM-运行时数据区

目录 什么是运行时数据区&#xff1f; 方法区 堆 程序计数器 虚拟机栈 局部变量表 操作数栈 动态连接 运行时常量池 方法返回地址 附加信息 本地方法栈 总结&#xff1a; 什么是运行时数据区&#xff1f; Java虚拟机在执行Java程序时&#xff0c;将它管…

Excel表格(一)

1.单一栏的宽度和高度设置 2.大标题的跨栏居中 3.让单元格内的文字------自动适应 4.序号递增 5.货币符号 6.日期格式的选择 选到单元格&#xff0c;选中对应的日期格式 7.自动求和的计算 然后在按住回车键即可求出当前行的金额 点击自动求和 8.冻结表格栏 9.排序 1.单栏排序 …

拥抱AIGC浪潮,亚信科技将如何把握时代新增量?

去年底&#xff0c;由ChatGPT带起的AIGC浪潮以迅雷不及掩耳之势席卷全球。 当互联网技术的人口红利逐渐消退之际&#xff0c;AIGC就像打开通用人工智能大门的那把秘钥&#xff0c;加速开启数智化时代的到来。正如OpenAI CEO Sam Altman所言&#xff1a;一个全新的摩尔定律可能…

基于Spring Boot的医院预约挂号网站设计与实现(Java+spring boot+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的医院预约挂号网站设计与实现&#xff08;Javaspring bootMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java spring…

k8s之Pod控制器

目录 一、Pod控制器及其功用二、pod控制器的多种类型2.1 pod容器中的有状态和无状态的区别 三、Deployment 控制器四、SatefulSet 控制器4.1 StatefulSet由以下几个部分组成4.2 为什么要有headless&#xff1f;4.3 为什么要有volumeClaimTemplate&#xff1f;4.4 滚动更新4.5 扩…

【LeetCode每日一题】——304.二维区域和检索-矩阵不可变

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 中等 三【题目编号】 304.二维区域和检索-矩阵不可变 四【题目描述】 …

拦截器对接口细粒度权限校验

文章目录 一、逻辑分析二、校验规则1.规则类型2.规则划分3.规则配置信息4.规则案例说明5.规则加载 三、拦截器定义1.自定义拦截器2.注册拦截器 四、获取请求参数1.获取get提交方式参数2.获取post提交方式参数&#xff08;1&#xff09;定义RequestWrapper类&#xff08;2&#…