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

news2024/11/24 1:50:48

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【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.coloradmin.cn/o/841796.html

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

相关文章

重磅发布|《人效九宫格:劳动力效能提升指引白皮书》,人效提升完全指南

5月&#xff0c;盖雅工场发布 「人效九宫格」 后引起了各位管理者和人力资源从业者的关注讨论。为方便大家更广泛地交流学习&#xff0c;在理论基础上&#xff0c;我们筹备了 《人效九宫格&#xff1a;劳动力效能提升指引白皮书》于今日正式发布&#xff0c;以更详细地阐述企…

Spring Boot如何整合mybatisplus

文章目录 1. 相关配置和代码2. 整合原理2.1 spring boot自动配置2.2 MybatisPlusAutoConfiguration2.3 debug流程2.3.1 MapperScannerRegistrar2.3.2MapperScannerConfigurer2.3.3 创建MybatisPlusAutoConfiguration2.3.4 创建sqlSessionFactory2.3.5 创建SqlSessionTemplate2.…

2023-08-07 LeetCode每日一题(反转字符串)

2023-08-07每日一题 一、题目编号 344. 反转字符串二、题目链接 点击跳转到题目位置 三、题目描述 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、…

在centos7上使用非编译方式安装ffmpeg

很多在centos7上安装ffmpeg的教程都需要使用编译方式的安装&#xff1b;编译时间较长而且需要配置; 后来搜索到可以通过加载rpm 源的方式实现快速便捷操作 第一种方式&#xff1a; 首先需要安装yum源&#xff1a; yum install epel-release yum install -y https://mirrors.…

【VUE】前端实现防篡改的水印

效果 水印的作用 图片加水印的操作一般是由后端来完成&#xff0c;有些站点保护的知识产权的类型可能比较多&#xff0c;不仅仅是图片&#xff0c;可能还有视频、文字等等&#xff0c;对于不同类型的对象添加水印后端操作比较复杂&#xff0c;所有有些站点逐步的让前端去进行水…

内网穿透-————SSH远程连接树莓派

前言 文章目录 前言内网穿透实现公网SSH远程连接树莓派1. 在树莓派上安装[cpolar客户端](https://www.cpolar.com/)2. 在树莓派浏览器中输入本地9200端口3. 在公共互联网的电脑的命令行界面输入命令 内网穿透实现公网SSH远程连接树莓派 随着科技的进步和信息技术的发展&#x…

c++ boost circular_buffer

boost库中的 circular_buffer顾名思义是一个循环缓冲器&#xff0c;其 capcity是固定的当容量满了以后&#xff0c;插入一个元素时&#xff0c;会在容器的开头或结尾处删除一个元素。 circular_buffer为了效率考虑&#xff0c;使用了连续内存块保存元素 使用固定内存&#x…

降本增效,除了裁员企业还能做什么?

现在面临企业裁员的新闻时&#xff0c;我们已经非常平静淡定了。短短几个月&#xff0c;裁员潮已经从互联网高科技科技行业&#xff0c;蔓延至金融、零售、汽车等行业&#xff0c;从新闻变成常态。裁员「常态化」背后&#xff0c;是企业面临的经营压力和对降本增效的关注。 随…

绿色项目管理:为环境和效益双赢

绿色项目管理&#xff1a;为环境和效益双赢 在21世纪的今天&#xff0c;我们正面临着各种全球性的环境问题&#xff0c;从气候变化到资源枯竭。作为项目经理&#xff0c;我们有责任和机会确保我们的项目对环境的影响最小&#xff0c;并在可能的情况下为环境做出积极的贡献。 …

geeemap学习总结(1)——Anaconda-VSCode-geemap环境安装与配置

配置conda geemap 环境 通过Anaconda配置geemap环境较为方便&#xff0c;首先需在系统中完成 Anaconda安装。创建名为geemap的环境conda create -n geemap切换到新建的环境conda activate geemap安装geemap依赖包conda install -c conda-forge geemap 安装mambaconda install …

算法通关村——原来如此简单

题目 给定一个二叉树的根节点root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧 所能看到的节点值 示例 思路 将当前层的最后一个节点放入集合中&#xff08;从右侧看到的节点值就是每一层的最后一个节点值&#xff09; 代码实现…

C语言预备知识

安装Visual studio 官方网址 https://visualstudio.microsoft.com/zh-hans/ 选择第一个社区版本&#xff08;免费&#xff09; 下载完成后打开安装包 安装完成后会自动打开程序选择c项目然后安装即可&#xff08;c兼容c&#xff09; 安装完成后启动程序注意这里需要注册也可…

AIGC:【LLM(四)】——LangChain+ChatGLM:本地知识库问答方案

文章目录 一.文件加载与分割二.文本向量化与存储1.文本向量化(embedding)2.存储到向量数据库 三.问句向量化四.相似文档检索五.prompt构建六.答案生成 LangChainChatGLM项目(https://github.com/chatchat-space/langchain-ChatGLM)实现原理如下图所示 (与基于文档的问答 大同小…

Kafka3.4 SASL/kerberos/ACL 证以及 SSL 加密连接

Kafka3.4 SASL/kerberos ACL 证以及 SSL 加密连接 序 前面我们使用 kafka3.3.1 on zookeeper 的模式进行多网段监听的 kafka 集群&#xff0c;顺便搭建起 kafkaui 后发现一些问题&#xff0c;我们 kafka 集群没有连接认证&#xff0c;万一谁知道了我们的 kafka 连接地址&…

如何免费申请SSL证书

如何免费申请SSL证书 文章目录 如何免费申请SSL证书前言1. 向域名平台申请SSL证书1.1 购买“免费证书” 2. 进一步进行创建证书设置2.1 对证书的关联域名进行补充 3. 云解析DNS3.1 进行验证信息 前言 我们可以成功地将自己购买的域名&#xff0c;绑定到连接本地群晖NAS的数据隧…

Element plus el-table 鼠标滚动失灵的问题及解决办法

Bug&#xff1a;ElementUI el-table 鼠标滚轮下滑动失灵的情况 我测出来的这个问题条件很苛刻&#xff0c;需要达到以下几个条件才会触发&#xff1a; 1.element plus&#xff08;其他版本没试&#xff09; 2.el-table-column组件有fixed属性时 3.template标签中有el-butto…

【EI/SCOPUS会议征稿】第三届数字经济与计算机应用国际学术会议(DECA2023)

第三届数字经济与计算机应用国际学术会议&#xff08;DECA2023&#xff09; The 3rd International Conference on Digital Economy and Computer Application 第三届数字经济与计算机应用国际学术会议 (DECA 2023) 将于2023年9月22-24日在中国上海召开。会议主题主要围绕数…

【2.1】Java微服务:详解Hystrix

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 深度学习 ✨特色专栏&#xff1a; 知识分享 &…

每天五分钟机器学习:梯度下降算法和正规方程的比较

本文重点 梯度下降算法和正规方程是两种常用的机器学习算法,用于求解线性回归问题。它们各自有一些优点和缺点,下面将分别对它们进行详细的讨论。 区别 1. 梯度下降算法是一种迭代的优化算法,通过不断迭代调整参数来逼近最优解。它的基本思想是根据目标函数的梯度方向,沿…

Vue-组件二次封装

本次对el-input进行简单封装进行演示 封装很简单&#xff0c;就给激活样式的边框(主要是功能) 本次封装主要使用到vue自带的几个对象 $attrs&#xff1a;获取绑定在组件上的所有属性$listeners: 获取绑定在组件上的所有函数方法$slots&#xff1a; 获取应用在组件内的所有插槽 …