Python_数据容器_列表list
创始人
2024-02-10 11:56:10
0

一、数据容器入门

使用场景:批量存储、批量使用多份数据

Python中的数据容器:

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

总结:

1.什么是数据容器?

一种可以存储多个元素的Python数据类型

2.Python有哪些数据容器?

list(列表)、tuple(元组)、str(字符串)、set(集合)、dict(字典)

它们各有特点,但是都可以满足容纳多个元素的特性。

二、数据容器之list(列表)

1.list(列表)定义

 列表内的每一个数据,称之为元素

  • 以 [ ]作为标识

  • 列表内每一个元素之间,用逗号隔开

 元素的数据类型没有任何限制,元素也可以是列表-->嵌套列表

# 定义一个列表listmy_list = ["bear",12,'python']print(my_list)print(type(my_list))# 元素类型无限制my_list = ["bear",12,True]print(my_list)print(type(my_list))# 定义一个嵌套列表my_list = [["1",'2'],[12,32],True]print(my_list)print(type(my_list))

2、列表list的下标索引

能够使用列表的下标索引从列表中取出元素 列表[下标] --即可取出对应位置元素

列表中的每一个元素都有其位置下标索引 ,从前向后的方向,从0开始依次递增。按照下标索引既可以取到对应位置的元素;也可以反向索引从后向前,从-1开始,依次递减(-1、-2、-3.....)

对于嵌套列表也可以取出对应位置的元素,先取出外层列表的下标再取内层元素对应的下标

# 通过下标索引来取出对应位置的数据 正向my_list = ['tom','lily','rose']print(my_list[0])print(my_list[1])print(my_list[2])# 错误示范-->通过索引下标取数据一定不能超出索引范围--否则会报错:IndexError: list index out of range# print(my_list[3])# 通过下标索引来取出对应位置的数据 反向print(my_list[-1])  # roseprint(my_list[-2])  # lilyprint(my_list[-3])  # tom# 取出嵌套列表中的元素 先外后内my_list = [["1",'2'],[12,32],True]# 取出[12,32]中的32print(my_list[1][1])

注意:下标索引的取值范围超出后无法取出元素并且会报错

3、列表list的常用操作方法

列表提供的功能:

  • 插入元素

  • 删除元素

  • 清空列表

  • 修改元素

  • 统计元素个数

等功能,称之为列表的方法

(1)列表的查询功能(方法)

  •    查找某元素的下标

       功能:查找指定元素在列表的下标如果找不到报错ValueError

       语法:列表.index(元素)  index就是列表对象(变量)内置的方法(函数)

my_list = ['quen','king','diff','python']# 1.1查找某元素在列表中的下标索引index = my_list.index('diff')print(f"diff在列表中的下表索引值:{index}")# 1.2如果查找某元素在列表中的下标索引不存在,报错:ValueError: 'jiff' is not in listindex = my_list.index('jiff')print(f"diff在列表中的下表索引值:{index}")

(2)列表的修改功能(方法)

  • 修改特定位置的(索引)的元素值:

       语法:列表[下标] = 值

# 2.修改特定下标索引的值my_list[1] = 'lydia'print(f"列表修改元素值后,结果是{my_list}")
  • 插入元素:

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

my_list.insert(2,'sunrise')print(f"列表修改元素值后,结果是{my_list}")
  • 追加元素:方式1--追加单个元素

       语法:列表.append(元素)  ,将指定的元素,追加到列表的尾部

my_list.append('tail')print(f"列表在尾部追加一个元素值后,结果是{my_list}")
  • 追加元素:方式2--追加多个元素

       语法:列表.extend(其他数据容器)  ,将其它数据容器的内容取出,依次追加到列表尾部

my_list1 = ['1,2',True]my_list.extend(my_list1)print(f"列表追加一个新的列表(数据容器)值后,结果是{my_list}")
  • 删除元素:

       语法1:del列表[下标]  

       语法2:列表.pop(下标)   pop()本质是将指定下标的元素取出来然后返回出去 --即就是能得到返回值,同时也将元素从列表中移除掉了

# 6.删除指定下标索引的元素 2种方式my_list = ['quen', 'lydia', 'diff', 'python']# 6.1方式1:deldel my_list[2] # 删除'diff'print(f"列表删除元素后结果是:{my_list}")# 6.2方式2:列表.pop(下标) pop()本质是将指定下标的元素取出来然后返回出去 --即就是能得到返回值,同时也将元素从列表中移除掉了my_list = ['quen', 'lydia', 'diff', 'python']element = my_list.pop(2)print(f"通过pop方法取出的元素为{element},取出元素后列表为:{my_list}")
  • 删除某元素在列表中的第一个匹配项:

       语法:列表.remove(元素)    拿到传入的元素后从前到后搜索满足的第一个元素被删掉,且只能删掉一个

# 7.删除某元素在列表中的第一个匹配项 语法 列表.remove(元素)my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']my_list.remove('diff')print(f"通过remove方法移除值为‘diff’的元素后,列表的结果是:{my_list}")
  • 清空列表内容:

       语法:列表.clear()  

my_list.clear()print(f"列表被清空,结果是:{my_list}")
  • 统计某元素在列表内的数量:

       语法:列表.count(元素)

# 9.统计列表内某元素的数量 语法:列表.count(元素)my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']count = my_list.count('lydia')print(f"列表中‘lydia'的数量为:{count}")
  • 统计列表内,有多少元素:

       语法:len(列表)

# 10.统计列表内全部元素的数量  len(列表)my_list = ['quen', 'lydia', 'diff', 'python','diff','lydia']count = len(my_list)print(f"列表中元素的数量为:{count}")

列表list的方法总览

4、列表list的特点

  • 可以以容纳多个元素(上限为2**63-1)

  • 可以容纳不同类型的元素

  • 数据时有序存储的

  • 允许重复存在

  • 可以修改(增删改)

5、列表的循环遍历/迭代

1) 使用while遍历列表中元素

2) 使用for遍历列表中元素 

对比while,for循环更适合对列表等数据容器进行遍历

语法:

for 临时变量 in 数据容器:

    对临时变量进行处理

while循环和for循环对比:

 

--------------------------------------------------------------------------------------------------转载注明出处

--------------------------------------------------------------------------------------------------#springbear#

相关内容

热门资讯

flash个性签名 flash个性签名SWFText 1.2先看效果: 图片大小 725 . 100这东西做法很简单,要...
远离爱情的个性签名 远离爱情的个性签名  对于爱情,太多期许,会失望;太多依赖,会受伤。那么,下面是小编给大家整理收集的...
微信网名两个字 微信网名两个字  微信网名两个字(精选281个)  网名指在网上使用的名字。由于网络是一个虚拟的世界...
关于爱情的微信网名 关于爱情的微信网名  关于爱情的微信网名(精选300个)  网名指在网上使用的名字。由于网络是一个虚...
心态好格局大的微信名 心态好格局大的微信名  一个心态好的人,在看待事情方面更加看的开,并且能够保持良好的心情,建立大的格...
合作社名称500例 合作社名称500例  一、什么是合作社  合作社是劳动群众自愿联合起来进行合作生产、合作经营所建立的...
读书的座右铭 有关读书的座右铭有关读书的座右铭1  1.书都读得来的人,还怕有什么做不来的。  2.黑发不知勤学早...
qq英文个性签名 qq英文个性签名  导语:What time is locked, wait for time to...
家庭群聊名称大全温馨300个 家庭群聊名称大全温馨300个▼※目录※▼家庭群聊温馨名称(1-50个)家庭群聊温馨名称(51-100...
抖音好听的名字 抖音好听的名字  抖音好听的名字(精选500个)  网名指在网上使用的名字。由于网络是一个虚拟的世界...
最新网名女生简单气质 最新网名女生简单气质  网名取名技巧  天马行空法  跳跃性好,思路开阔,一些漠不相关的突然被想起。...
综合素质评价班主任评语 综合素质评价班主任评语  在生活、工作和学习中,说到评语,大家肯定都不陌生吧,评语有助于提高被评价对...
毕业留言美句 毕业留言美句大家一起来看看大学网推荐的毕业留言如果你是一条巨龙,迟早总会腾飞!愿你的才华随时间的流逝...
关于舞蹈班学生评语   篇一:舞蹈评语+成绩评语  舞蹈评语  幼儿中级班  1.徐佳瑜:小小的你很棒,上课表现力特别出...
教师节祝福问候语 教师节祝福问候语大全  在日常学习、工作或生活中,大家对问候语都不陌生吧,问候语语句简单,是人们生活...
励志个性座右铭语录 励志个性座右铭语录(通用60句)  愿所有的幸运都与你在一起,愿所有的蓝色都在你世界消失,愿只有一个...
对高三学生评语 对高三学生评语(15篇)  在日常生活或是工作学习中,大家都尝试过写评语吧,评语能够帮助被评价对象不...
大鱼海棠经典语录图片   导语:《大鱼海棠》动漫播出后让我们感受到了国漫的强大,里面也有许多让我们不禁落泪的台词,下面是小...
实验双语幼儿园安全接送协议书 实验双语幼儿园安全接送协议书实验双语幼儿园安全接送协议书尊敬的家长:  关爱幼儿,确保安全,是我们家...
空间寄语 空间寄语  下文是unjs小编精心收集整理的空间寄语,希望对大家有帮助,让我们一起来阅读吧!  爱是...