06-python数据容器-list列表定义/list的10个常用操作/列表的遍历/使用列表取出偶数

01-数据容器入门

为什么学习数据容器?

image-20231016164154403

数据容器的5个分类

image-20231016164334286

image-20231016164422256

02-数据容器(list列表)列表的定义

image-20231016164657899

列表的定义

image-20231016164755113

列表的定义方式

image-20231016164942973

嵌套列表的定义

image-20231016165044482

my_list是一个列表,其中有两个元素,每一个元素又是一个列表,这就是列表的嵌套。

"""
演示数据容器之:list列表
语法:[元素,元素,元素,,,,]
"""
#定义一个列表list
my_list=["itxuexi","itcase","python"]
print(my_list)
print(type(my_list))
​
my_list=["itxuexi",666,True]
print(my_list)
print(type(my_list))

image-20231016170454084

#定义一个嵌套的列表
my_list=[[1,2,3],[4,5,6]]
print(my_list)
print(type(my_list))

image-20231016170833807

image-20231016170955700

03-数据容器(list列表)列表的下标索引定义

列表的下标(索引)

image-20231016171221491

列表的下标(索引)-反向

image-20231016171427394

嵌套列表的下标(索引)

image-20231016171821189

#通过下标索引取出对应位置的数据
my_list=["Tom","Lily","Rose"]
#列表[下标索引],从前向后从0开始,每次+1,从后向前从-1开始,每次-1
print(my_list[0])
print(my_list[1])
print(my_list[2])
#错误示范,若超出相应范围,将会报错
print(my_list[3])

image-20231016172610681

#通过下标索引取出数据(倒叙取出)
​
print(my_list[-1])
print(my_list[-2])
print(my_list[-3])

image-20231016172844755

#取出嵌套列表的元素,取数字5
my_list=[[1,2,3],[4,5,6]]
print(my_list[1][1])

image-20231016173223330

image-20231016173536916

04-数据容器(list列表)列表的10个常用操作

image-20231016175445553

1.列表查询功能

image-20231016175724848

image-20231016194959228

"""
演示数据容器之:list列表的常用操作
"""
#定义一个列表
mylist=["itcast","itxuexi","python"]
#1.1查找某元素在列表内的下标索引,如下格式就是想知道itxuexi在列表中的索引是什么,用index接收返回值
index = mylist.index("itxuexi")
print(f"itxuexi在列表中的下标索引值是{index}")

image-20231016195716856

#1.2如果被查找的元素不存在,会报错
index = mylist.index("hello")
print(f"itxuexi在列表中的下标索引值是{index}"

image-20231016195848494

会有明显的提示:’hello’ is not in list

2.列表的修改功能

2.1替换某一个元素

image-20231016200325013

mylist=["itcast","itxuexi","python"]
#1.3修改特定下边索引的值(对指定下标的位置重新赋值)如下将itcast修改为“小海不小”
mylist[0]="小海不小"
print(f"列表被修改元素值后,结果是:{mylist}")

image-20231016200709841

2.2插入元素

image-20231016200756371

#定义一个列表
mylist=["itcast","itxuexi","python"]
mylist.insert(1,"best")
print(f"插入元素best后的列表为{mylist}")

![image-20231016201227826](../图片文件/image-20231016201227826.png

3.列表的追加功能

3.1追加一个元素

image-20231016201348754

只能加入到尾部,不能指定插入的位置。

#定义一个列表
mylist=["itcast","itxuexi","python"]
#4.在列表的尾部追加“单个”新元素
mylist.append("国防科技大")
print(f"追加元素后的列表为{mylist}")

image-20231016201817099

3.2追加一批元素的方法:

image-20231016201916469

#定义一个列表
mylist=["itcast","itxuexi","python"]
#5.在列表尾部追加“一批”新元素
mylist2=[1,2,3]
mylist.extend(mylist2)
print(f"列表增加mylist2后列表为{mylist}")

image-20231016202529358

3.删除元素

image-20231016202725352

#6.删除下标索引的元素(两种方式)
mylist=["itcast","itxuexi","python"]
#6.1方式1:del 列表[下标]
del mylist[2]
print(f"列表删除元素后结果是:{mylist}")

image-20231016203204558

#6.2方式2:列表.pop(下标)
mylist=["itcast","itxuexi","python"]
#使用此种方法,还可以返回数值进行接收
element = mylist.pop(2)
print(f"列表删除元素后结果为{mylist},取出的元素是{element}")

image-20231016203642327

4.删除某一个元素在列表中的第一个匹配项

image-20231016204002650

#7.删除某个元素在列表中的第一个匹配项
mylist=["itcast","itxuexi","itcast","itxuexi","python"]
mylist.remove("itxuexi")
print(f"通过remove方法移除元素后的结果:{mylist}")

image-20231016204403748

若想把第二个关键词也删掉,需要调用两次这个参数

5.清空列表内容

image-20231016204649566

#8.清空列表
mylist=["itcast","itxuexi","itcast","itxuexi","python"]
mylist.clear()
print(f"列表被清空了,结果是:{mylist}")

image-20231016204927396

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

image-20231016205001176

#9.统计列表中某元素的数量
mylist=["itcast","itxuexi","itcast","itxuexi","python"]
count =mylist.count("itxuexi")
print(f"列表中itxuexi的数量是{count}")

image-20231016205617109

7.列表的查询功能(方法)-len()

image-20231016205706487

#10.统计列表中全部元素的数量
mylist=["itcast","itxuexi","itcast","itxuexi","python"]
print(len(mylist))

image-20231016205931857

#10.统计列表中全部元素的数量
mylist=["itcast","itxuexi","itcast","itxuexi","python"]
count =len(mylist)
print(f"列表元素数量共有:{count}")

image-20231016210134542

image-20231016210248539

#列表的10个常用操作
#定义一个列表
my_list=["itanquan","itxuexi","itpython","itxuexi","python"]
#1.查询某个元素在列表中的下标
index=my_list.index("itanquan")
print(f"元素itanquan在my_list中的下标是{index}")
#注意若查找元素不在列表中,将会报错
#2.替换列表中的某一个元素
my_list[1]="xuexi"
print(f"替换掉位置1的元素后,列表结果为{my_list}")
#3.c插入某一个元素
my_list.insert(1,"good")
print(f"插入元素good后,列表结果为{my_list}")
#4.追加一个元素,在末尾追加元素best
my_list.append("best")
print(f"在列表末尾追加一个元素后,列表结果为{my_list}")
#5.追加一批元素
#先定义要追加元素的列表、
my_list1=[1,2,3]
my_list.extend(my_list1)
print(f"追加完列表my_list1后列表内容是{my_list}")
#6.删除元素,方式1
del my_list[2]
print(f"删除元素后,列表内容是{my_list}")
#删除元素方式2 可以接收删除元素的内容
electment=my_list.pop(3)
print(f"删除元素后的列表为{my_list},删除的元素是{electment}")
#7.删除某一个元素在列表中的第一个匹配项
my_list.remove("python")
print(f"通过remove方法移除元素后结果为{my_list}")
#8.统计某个元素在列表中的数量
my_list2=[1,1,1,2,3,4,5]
count=my_list.count(1)
print(f"列表my_list2中1的个数为{count}")
#统计列表中所有元素的数量
print(len(my_list))
#9.清空列表
my_list.clear()
print(f"列表被清空了,结果是:{my_list}")

image-20240116161525012

image-20231016210438842

image-20231016210628854

05-练习案例

image-20231016231739564

"""
演示List常用操作的课后练习
"""
#1.定义这个列表,并用变量接收它,内容是:[21,25,21,23,22,20]
mylist = [21,25,21,23,22,20]
#2.追加一个数字31,添加到尾部
mylist.append(31)
#3.追加一个新列表[29,33,30]
mylist.extend([29,33,30])
#4.取出第一个元素(应是21)
num1= mylist[0]
print(f"从列表中取出来第一个元素,应该是21,实际上是:{num1}")
#5.取出最后一个元素(应是30)
num2=mylist[-1]
print(f"从列表中取出来最后一个元素,应该是30,实际上是:{num2}")
#6.查找元素31,在列表中的下标位置
index=mylist.index(31)
print(f"元素31在列表的下标位置是:{index}")
print(f"最后列表的内容是:{mylist}")

image-20231016233118275

06-列表的遍历

列表的遍历-while循环

image-20231017214249181

"""
演示list列表的循环,使用while和for循环两种方式
​
"""
def list_while_func():
    """
    使用while循环遍历列表的演示函数
    :return: None
    """
    # 定义一个列表my_list
    my_list = ["it学习", "计算机", "Python"]
    # 循环控制变量通过下标索引来控制,默认为0
    # 每一次循环将下标索引+1
    # 循环条件:下标索引变量<列表的元素数量
    index = 0
    while index < len(my_list):
        # 通过index变量取出对应下标的元素
        element = my_list[index]
        print(f"列表的元素:{element}")
        # 至关重要 将循环变量(index)每一次循环都+1
        index += 1
  list_while_func()

image-20231017215812003

列表的遍历-for循环

image-20231017215932161

def list_for_func():
    """
    使用for循环遍历列表的演示函数
    :return: None
    """
    my_list=[1,2,3,4,5]
    #for 临时变量 in 数据容器:
    for element in my_list:#这里的临时变量就是数据中的元素,所以用element,表示将列表my_list中的元素挨个赋给element
        print(f"列表中的元素有:{element}")
list_for_func()

image-20231017221254867

image-20231017224828804

for循环用的较多。

image-20231017224901170

案例练习:取出列表中的偶数

image-20231017225053014

#设置列表my_list1和空列表my_list2用于装偶数数值
my_list1=[1,2,3,4,5,6,7,8,9,10]
my_list2=[]
#设置最开始的下标
index=0
#设置循环进行的条件
while index<len(my_list1):
    #将列表中的元素取出来
    num=my_list1[index]
    #判断是否整除2
    if num%2==0:
        #整除2的添加到my_list2中
        my_list2.append(num)
    index+=1
print(f"通过while循环,从列表{my_list1}中取出偶数,得到的新列表是{my_list2}")
​
​
my_list1=[1,2,3,4,5,6,7,8,9,10]
my_list2=[]
#设置for循环,依次遍历my_list1
for i in my_list1:
    if i%2==0:
        my_list2.append(i)
print(f"通过for循环,从列表{my_list1}中取出偶数,得到的新列表是{my_list2}")

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VMware Vsphere 日志:用户 dcui@127.0.01已以vMware-client/6.5.0 的身份登录

一、事件截图&#xff1a; 二、解决办法 原因&#xff1a; 三、解决办法 1.开启锁定模式 2.操作 1、从清单中选择您的 ESXi 主机&#xff0c;然后转至管理 > 设置 > 安全配置文件&#xff0c;然后单击锁定模式的编辑按钮 2、在打开的锁定模式窗口中&#xff0c;选中启…

C++I/O流——(3)文件输入/输出(第一节)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 含泪播种的人一定能含笑收获&#xff…

代码随想录 Leetcode18. 四数之和

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月15日&#xff09;&#xff1a; class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> result;sort(nums.begin(), nums.end(…

JVM实战(17)——模拟对象晋升

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 学习必须往深处挖&…

数据结构学习 leetcode31 下一个排列

关键词&#xff1a;下一个排列 字典序 排列 这是我在做jz38字符串的排序的时候&#xff0c;一种解题方法是字典序&#xff0c;用到的就是这种方法。这种方法支持不重复地输出全排列。 题目&#xff1a;下一个排列 思路&#xff1a; 我看了官方题解和这位大哥的题解&#xff…

dns 域名解析协议

1.1 dns 的概念 作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网,基于C/S架构&#xff0c; 服务器端&#xff1a;53/udp, 53/tcp实际上&#xff0c;每一台 DNS 服务器都只负责管理一个有限范围&#xff08;一个或几个域&#xff09;内的主…

Vscode 上安装 Compilot

GitHub Copilot 是由 OpenAI 和 GitHub 开发的 AI 工具。其目的是通过自动完成代码来帮助开发人员使用集成开发环境 &#xff08;IDE&#xff09;&#xff0c;如 Visual Studio Code。它目前仅作为技术预览版提供&#xff0c;因此只有已在候补名单上被接受的用户才能访问它。对…

【软件工程】《软件工程》期末复习提纲

《软件工程》期末复习提纲 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 第十三章 第十四章 小题参考 大题参考 《软件工程》期末复习提纲 第一章 1.在下列选项中&#xff0c;&#xff08; &#xff09;不是软…

C#,入门教程(66)——枚举Enum的高等用法

前言&#xff1a;国内码农与国外优秀程序员的最大区别是&#xff0c;我们的专家、教授喜欢唾沫横飞地&#xff0c;夸夸其谈语言特性、框架、性能&#xff0c;唯一目的是带私货&#xff08;书籍或教程&#xff09;&#xff0c;很少能写出真有用的程序。差距在哪呢&#xff1f;基…

01章【JAVA开发入门】

计算机基本概念 计算机组成原理 计算机组装 计算机&#xff1a;电子计算机&#xff0c;俗称电脑。是一种能够按照程序运行&#xff0c;自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成&#xff0c;没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、…

Apache POI 导出Excel报表

大家好我是苏麟 , 今天聊聊Apache POI . Apache POI 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 E…

slint 1.3.2 官方文档翻译04

主要使用 有道翻译。希望能够对 初学者 有所帮助 翻译自&#xff1a;Builtin Enumerations - Slint 1.3.2 Reference Builtin Enumerations 内置的枚举 AccessibleRole 可访问角色 This enum represents the different values for the accessible-role property, used to d…

Vue3-TS中的接口-泛型-自定义类型

1首先一般在src下新建types文件夹&#xff0c;用来存放接口类型 2定义一个接口&#xff0c;用于限制person对象的具体属性 当需要用这个类型形成数组时&#xff0c;有2种写法 export type Persons Array<PersonInter> export type Persons PersonInter[] 3在文件中使…

八:分布式锁

1、为什么要使用分布式锁 锁是多线程代码中的概念&#xff0c;只有多任务访问同一个互斥的共享资源时才需要锁。单机应用开发时一般使用synchronized或lock。多线程的运行都是在同一个JVM之下。应用是分布式集群&#xff0c;属于多JVM的工作环境&#xff0c;JVM之间已经无法通过…

数据结构--排序

参考【算法】排序算法之希尔排序 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/122632213 1. 排序的定义 2. 插入排序 2.1 直接插入排序 在插入第i&#xff08;i>1)个记录时&#xff0c;前面的i-1个记录已经排好序 void insertSort(int r[],int n) {for(int i2;i<…

JMeter定时器之同步定时器

JMeter定时器之同步定时器 1. 背景2. 目的3. 介绍4. 例子4.1单个请求4.2多个请求 1. 背景 在实际生活中大家肯定遇到过一种场景&#xff0c;就是在某一时间或某一时刻&#xff0c;某件商品进行抢购&#xff0c;相当于秒杀&#xff1b;但是用JMeter进行测试的时候&#xff0c;如…

反向代理的本质是什么?

反向代理是一种网络架构模式&#xff0c;通常用于提供静态内容、处理安全、负载均衡和缓存等任务。在这种架构中&#xff0c;客户端发送的请求首先到达反向代理服务器&#xff0c;然后由反向代理服务器将请求转发给后端的实际服务器。反向代理服务器可以处理和修改请求和响应&a…

GPT应用开发:运行你的第一个聊天程序

本系列文章介绍基于OpenAI GPT API开发应用的方法&#xff0c;适合从零开始&#xff0c;也适合查缺补漏。 本文首先介绍基于聊天API编程的方法。 环境搭建 很多机器学习框架和类库都是使用Python编写的&#xff0c;OpenAI提供的很多例子也是Python编写的&#xff0c;所以为了…

Unity解决Udp客户端无法接收数据的问题

Unity解决Udp客户端无法接收数据的问题 在我之前做过的项目中&#xff0c;其中不少涉及Udp客户端的项目。在这些项目中&#xff0c;一般只需要实现客户端向服务器端发送数据的功能就可以了&#xff0c;一般都不用接收服务器端发送的数据&#xff0c;但是也有同学使用了我分享的…

Java研学-三层架构实现简单登录操作

一 登录流程 将服务器资源给有权限的人访问&#xff0c;只有登录的管理员可以访问员工信息进行 CRUD 二 三层架构 Web 开发中的最佳实践&#xff1a;分层开发模式将整个业务应用划分为&#xff1a;表现层、业务逻辑层、数据访问层。区分层次的目的即为了“高内聚低耦合”的思想…