Python--列表及其应用场景

news2024/11/25 10:32:31

1.为什么需要列表

思考:有一个人的姓名(laowang)怎么书写存储程序?

用   变量。如:name = 'laowang'

但是,如果要记录很多人的名字,怎么办?

思考:

如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?

不可能一直写那么多,针对这种,Python设置用列表解决。列表一次可以存储多个数据。

在Python中,这种数据类型称为列表。但是在其他的编程语言中,如Java、PHP、Go等等中其被称为数组。

2.列表的定义

列表序列名称 = [列表中的元素1, 列表中的元素2, 列表中的元素3, ...]

列表序列名称也就是类似一个变量名

案例:

定义一个列表,用于保存苹果、香蕉以及菠萝

代码:


list1 = ['apple', 'banana', 'pineapple']
# list列表类型支持直接打印
print(list1)
# 打印列表的数据类型-----type   查看数据类型
print(type(list1))

注意:列表可以一次存储多个数据且可以为不同的数据类型

相关链接:Python的数据类型:Python中变量的数据类型-CSDN博客

3、列表的相关操作

列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:

增、删、改、查。

操作

列表在计算机中的底层存储形式,列表和字符串一样,在计算机内存中都占用一段连续的内存地址,我们向访问列表中的每个元素,都可以通过"索引下标"的方式进行获取。

如果想获取列表中的某个元素,非常简单,直接使用  索引下标

代码:


list1 = ['apple', 'banana', 'pineapple']
# 获取列表中的banana---------索引从0开始,0   1   2  3  ………………
print(list1[1])

查   操作的相关方法:

编号函数作用
1index()指定数据所在位置的下标------in  dex   在哪里
2count()统计指定数据在当前列表中出现的次数
3in判断指定数据  在   某个列表序列,如果 在  返回True,否则  不存在   就返回False
4not in判断指定数据  不在  某个列表序列,如果不在返回True,否则  不存在   返回False

index  英 /ˈɪndeks/ 

n. 索引;(物价和工资等)指数;指标,量度;幂,根指数;指针

v. 为……编索引,将……编入索引;使指数化,将(工资)等与(物价水平等)挂钩;(机器,部件)转位

count   英 /kaʊnt/   

v. (按顺序)数数;计数,点数目;把……算入,包括;重要;被允许,被接受;看作,认为

n. 计算,总数;数数;量的计数;(被指控的)罪状,事项;论点,观点;伯爵;(纱线的)支数

案例:


# 1、查找某个元素在列表中出现的位置(索引下标)----索引从0开始,0 1 2 3  ………………
list1 = ['apple', 'banana', 'pineapple']
print(list1.index('apple'))  # 0
# print(list1.index('peach'))  # 报错

# 2、count()方法:统计元素在列表中出现的次数
list2 = ['刘备', '关羽', '张飞', '关羽', '赵云']
# 统计一下关羽这个元素在列表中出现的次数
print(list2.count('关羽'))

# 3、in方法和not in方法(黑名单系统)-----如果 在  返回True,否则  不存在   就返回False
list3 = ['192.168.1.15', '10.1.1.100', '172.35.46.128']
if '10.1.1.100' in list3:
    print('黑名单IP,禁止访问')
else:
    print('正常IP,访问站点信息')

增操作

编号函数作用
1append()增加指定数据到列表中
2extend()列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
3insert()指定位置新增数据
append()

append() :在列表的  尾部  追加元素

append   英 /əˈpend/   v. <正式>附加,增补


names = ['孙悟空', '唐僧', '猪八戒']
# 在列表的尾部追加一个元素"沙僧"
names.append('沙僧')
# 打印列表
print(names)

注意:列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据。

extend()方法

列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表

案例:


list1 = ['Tom', 'Rose', 'Jack']
# 1、使用extend方法追加元素"Jennify"
# names.extend("Jennify")
# print(names)

# 2、建议:使用extend方法两个列表进行合并
list2 = ['Hack', 'Jennify']
list1.extend(list2)

print(list1)

总结:extend方法比较适合于两个列表进行元素的合并操作

insert()方法

作用:在指定的位置增加元素


names = ['薛宝钗', '林黛玉']
# 在薛宝钗和林黛玉之间,插入一个新元素"贾宝玉"
names.insert(1, '贾宝玉')
print(names)

删操作

编号函数作用
1del 列表[索引]删除列表中的某个元素
2pop()删除指定下标的数据(默认为最后一个),并返回该数据
3remove()移除列表中某个数据的第一个匹配项。
4clear()清空列表,删除列表中的所有元素,返回空列表。
del删除指定的列表元素

基本语法:


names = ['Tom', 'Rose', 'Jack', 'Jennify']
# 删除Rose
del names[1]
# 打印列表
print(names)

pop()方法

作用:删除指定下标的元素,如果不填写下标,默认删除最后一个。其返回结果:就是删除的这个元素


names = ['貂蝉', '吕布', '董卓']
del_name = names.pop()
# 或
# del_name = names.pop(1)
print(del_name)
print(names)

remove()方法

作用:删除匹配的元素


fruit = ['apple', 'banana', 'pineapple']
fruit.remove('banana')
print(fruit)

clear()方法

清空列表


names = ['貂蝉', '吕布', '董卓']
# 随着故事的发展,人物都game over
names.clear()
# 打印列表
print(names)

改操作

编号函数作用
1列表[索引] = 修改后的值修改列表中的某个元素
2reverse()将数据序列进行倒叙排列
3sort()对列表序列进行排序
4copy()对列表序列进行拷贝

list1 = ['貂蝉', '大乔', '小乔', '八戒']
# 修改列表中的元素
list1[3] = '周瑜'
print(list1)

list2 = [1, 2, 3, 4, 5, 6]
list2.reverse()
print(list2)

list3 = [10, 50, 20, 30, 1]
list3.sort()  # 升序(从小到大)
# 或
# list3.sort(reverse=True)  # 降序(从大到小)
print(list3)

list4 = list3.copy()
print(list4)

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

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

相关文章

17 Linux 中断

一、Linux 中断简介 1. Linux 中断 API 函数 ① 中断号 每个中断都有一个中断号&#xff0c;通过中断号可以区分出不同的中断。在 Linux 内核中使用一个 int 变量表示中断号。 ② request_irq 函数 在 Linux 中想要使用某个中断是需要申请的&#xff0c;request_irq 函数就是…

【Unity ShaderGraph】| 如何快速制作一个炫酷的 全息投影效果

前言 【Unity ShaderGraph】| 如何快速制作一个炫酷的 全息投影效果一、效果展示二、 全息投影效果 前言 本文将使用ShaderGraph制作一个 炫酷的 全息投影效果 &#xff0c;可以直接拿到项目中使用。对ShaderGraph还不了解的小伙伴可以参考这篇文章&#xff1a;【Unity Shader…

mac 卸载第三方输入法

输入法设置里的移除&#xff0c;并不是真的卸载&#xff0c;点击还是能添加回来 在活动监视器里强制退出此输入法在访达界面使用快捷键 ShiftcommandG在弹出的对话框内输入以下路径&#xff08;/资源库/Input Methods&#xff09;&#xff0c;再点击下面的前往找到你要卸载的输…

HadSky+内网穿透打造个人专属社区论坛并远程访问

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3 Cpolar稳定隧道&#xff08;本地设置&#xff09;2.4 公网访问测试 总结 前言 经过多年的基础…

盘点那些开发中经常用到的git命令

入职第一天 配置邮箱账号 git config —global user.email "XXXX" git config —global user.name "XXXX" 生成公钥 ssh-keygen -t rsa -C "你的邮箱"生成的文件默认在c盘:/用户/当前用户/.ssh文件夹下&#xff0c;也可以指定文件 打开git网页&…

MySQL(12):MySQL数据类型

MySQL中的数据类型 常见数据类型的属性&#xff1a; 整数类型 整数类型一共有 5 种&#xff0c;包括 TINYINT、SMALLINT、MEDIUMINT、INT&#xff08;INTEGER&#xff09;和 BIGINT。 CREATE TABLE test_int1 ( X TINYINT, y SMALLINT, z MEDIUMINT, m INT, n BIGINT );…

Postgresql数据类型-时间类型

PostgreSQL对时间、日期数据类型的支持丰富而灵活&#xff0c;本节介绍PostgreSQL支持的时间、日期类型&#xff0c;及其操作符和常用函数。 PostgreSQL支持的时间、日期类型如表所示。 我们通过一个简单的例子理解这几个时间、日期数据类型&#xff0c;先来看看系统自带的now…

高性能网络编程 - 解读5种I/O模型

文章目录 服务端处理网络请求流程图基础概念阻塞调用 vs 非阻塞调用同步处理 vs 异步处理阻塞、非阻塞 和 同步、异步的区别recvfrom 函数 五种I/O模型I/O模型1&#xff1a;阻塞式 I/O 模型(blocking I/O&#xff09;I/O模型2&#xff1a;非阻塞式 I/O 模型(non-blocking I/O&a…

实用技巧:嵌入式人员使用http服务模拟工具模拟http服务器测试客户端get和post请求

文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/134305752 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…

卡尔曼滤波EKF

目录 一、概述 二、卡尔曼滤波的5个公式 三、应用案例&#xff1a;汽车运动 四、应用案例&#xff1a;温度估计 五、总结 一、概述 初学者对于卡尔曼滤波5个公式有点懵&#xff0c;本文先接地气地介绍5个公式&#xff0c;然后举两个常用例子加强理解&#xff0c;同时附有M…

杰里6969系列控制RGB彩灯模式

1、任务目标 实现可以接收到APP传输过来的数据&#xff0c;可以通过传输的数据前几个字节识别到所需要控制的模式&#xff0c;然后提取数据的后几个字节来分别对RGB灯进行不同的的PWM波控制&#xff0c;从而实现跳变和渐变的效果。 2.跳变&#xff08;分布调试记录&#xff09…

创建多层级行索引,创建多层级行索引的DataFrameMultiIndex.from_product()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 创建多层级行索引, 创建多层级行索引的DataFrame MultiIndex.from_product() [太阳]选择题 使用pd.MultiIndex.from_product()&#xff0c;下列输出正确的是&#xff1a; import pandas as pd…

一键批量删除文件名中的空格,高效整理您的文件

你是否曾经因为文件名中多余的空格而烦恼&#xff1f;这些空格不仅影响了文件的美观&#xff0c;还可能导致一些不必要的错误。现在&#xff0c;我们向您介绍一款全新的工具&#xff0c;它可以帮助您一键批量删除文件名中的空格&#xff0c;让您的文件整理更加轻松、高效&#…

一款功能强大的web目录扫描器专业版

dirpro 简介 dirpro 是一款由 python 编写的目录扫描器&#xff0c;操作简单&#xff0c;功能强大&#xff0c;高度自动化。 自动根据返回状态码和返回长度&#xff0c;对扫描结果进行二次整理和判断&#xff0c;准确性非常高。 已实现功能 可自定义扫描线程 导入url文件进…

劲松中西医医院专家谭巍医生解读:生殖衣原体阳性是什么意思

生殖衣原体阳性是指生殖系统出现了衣原体感染。衣原体是我们身体中常见的菌群&#xff0c;生殖系统常见的衣原体有&#xff1a;沙眼衣原体&#xff0c;当然还包括一些支原体&#xff0c;如&#xff1a;人型支原体、解脲支原体等&#xff0c;都可引起生殖系统出现一系列的感染症…

华为L410上制作内网镜像模板02

原文链接&#xff1a;华为L410上制作离线安装软件模板02 hello&#xff0c;大家好啊&#xff0c;今天给大家带来第二篇在内网搭建Apache服务器&#xff0c;用于安装完内网操作系统后&#xff0c;在第一次开机时候&#xff0c;为系统安装软件的文章&#xff0c;今天给大家介绍在…

Linux常见指令:从基础到理论

前言 目录 前言 1. find指令 拓展 2. grep指令 拓展 sort指令 uniq指令 wc指令 3. zip/unzip指令 4. tar指令 5. uname指令 拓展 6. Linux常用热键 7. 关机 8. rz指令 拓展 scp指令 9. shell命令以及运行原理 Linux常见指令是使用Linux系统时必不可少的一部分。通过掌握…

【QML】Qt和QML获取操作系统类型

1. Qt获取系统类型 //方法 QSysInfo::productType()//举例&#xff1a; if(QSysInfo::productType() "windows") {qDebug() << "windows system"; }官方说明&#xff1a; [static] QString QSysInfo::productType() Returns the product name of …

【数据结构】树与二叉树(七):二叉树的遍历

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉…

MySQL -- 事务管理

MySQL – 事务管理 文章目录 MySQL -- 事务管理一、理解事务1.如果CURD不加控制&#xff0c;会有什么问题2.事务的概念 二、MySQL中的事务1.事务的版本支持2.事务提交方式3.事务常见操作方式3.1.事务的开始与回滚3.2.证明未commit&#xff0c;客户端崩溃&#xff0c;MySQL自动会…