黑马程序员2022版Python教程学习笔记——数据容器(list)

1.数据容器是什么

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

数据容器根据特点不同,如:

  • 是否支持重复元素
  • 是否可以修改
  • 是否有序,等

分为5类,分别是:列表(list),元组(tuple),字符串(str),集合(set),字典(dict)

2.list(列表)

基本语法:

#字面量

[元素1,元素2,元素3,元素4,........]

#定义变量

变量名称 = [元素1,元素2,元素3,元素4,......]

#定义空列表

变量名称 = [ ]

变量名称 = list()

  • 列表内的每一个数据,称之为元素,以[ ]作为标识
  • 列表内的每一个元素之间用,逗号隔开
name_list = ["itheima",666,True]
print(name_list)
print(type(name_list))

  

  •  注意:列表可以一次存储多个数据,且可以为不同类型,支持嵌套
  • 嵌套列表如下(元素也可以是列表)
my_list = [[1,2,3],[4,5,6]]
print(my_list)
print(type(my_list))

  

列表的下标(索引)

  • 列表的每一个元素,都有编号称之为下标索引,从前向后的方向,编号从0开始递增,从后向前的方向,编号从-1开始递减。
  • 下标索引的语法:列表[下标],即可取出
  • 注意:要注意下标索引的取值范围,超出范围无法取出元素,并且会报错。

   

name_list = ['tom',666,True]
#正向索引  正向索引从0开始
print(name_list[0])
print(name_list[1])
print(name_list[2])
#反向索引   反向索引从-1开始
print(name_list[-1])
print(name_list[-2])
print(name_list[-3])

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

   

 列表的常用操作和特点

列表的方法

  • 定义
  • 使用下标索引获取值
  • 查找某元素的下标

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

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

#查找某元素在列表中的下标索引
mylist = ["itcast","itheima","python"]
index = mylist.index("python")
print(f"python在列表中的下标索引值是:{index}")
#如果查找的元素不存在,会报错
index = mylist.index("py")
print(f"python在列表中的下标索引值是:{index}")

  

  • 插入元素

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

mylist = ["itcast","itheima","python"]
mylist.insert(2,"ppt")
print(f"列表插入元素值后,结果是:{mylist}")

  

  • 追加元素

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

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

mylist = ["itcast","itheima","python"]
mylist.append("ppt")
print(f"列表追加元素值后,结果是:{mylist}")

mylist = ["itcast","itheima","python"]
mylist2 = [1,2,3]
mylist.extend(mylist2)
print(f"列表追加元素值后,结果是:{mylist}")

   

  • 删除元素

语法1:del 列表[下标]  仅能删除元素

语法2:列表.pop(下标)  删除元素之后,还能把删掉的元素作为返回值去得到

mylist = ["itcast","itheima","python"]
del mylist[0]
print(f"列表删减元素值后,结果是:{mylist}")

element = mylist.pop(0)
print(f"通过pop方法取出元素后列表内容:{mylist},取出的元素是{element}")

   

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

语法:列表.remove(元素)

mylist = ["itcast","itheima","itheima","python"]
mylist.remove("itheima")
print(f"列表删减元素值后,结果是:{mylist}")

   

  • 清空列表

语法:列表.clear()

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

   

  • 修改列表

修改特定位置(索引)的元素值:语法:列表[下标] = 值            可以使用如上语法,直接对指定下标(正向,反向下标均可)的值进行:重新赋值(修改)

mylist = ["itcast","itheima","python"]
mylist[2] = "ppt"
print(f"列表在修改元素值后,结果是:{mylist}")

   

  • 统计元素个数

语法:列表.count(元素)

mylist = ["itcast","itheima","itheima","python"]
num = mylist.count("itheima")
print(f"列表中“itheima”的个数是:{num}")

   

  •  统计列表内,有多少元素

语法:len(列表) 可以得到一个int数字,表示列表内的元素数量

mylist = ["itcast","itheima","itheima","python"]
num = len (mylist)
print(f"列表中元素的个数是:{num}")

  

总结:

  • 列表可以容纳多个元素
  • 可以容纳不同类型的元素(混装)
  • 数据是有序存储的(有下标序号)
  • 允许重复数据存在
  • 可以修改(增加或删除元素等)

具体案例:

age = [21,25,21,23,22,20]
age.append(31)
print(f"追加一个数字31,到列表的尾部{age}")
age.extend([29,30,31])
print(f"增加一个新列表到原列表的尾部{age}")

#从列表中取出第一个元素
num1 = age[0]
print (f"从列表中取出的第一个元素,应该是21,实际上是{num1}")
#从列表中取出最后一个元素 用-1,因为上次删减完之后正向不确定
num2  =age[-1]
num = age.index(31)
print(f"元素31,在列表中的下标位置是:{num}")
print(f"最终列表的内容是{age}")

3.列表的循环遍历

1.while循环

既然数据容器可以存储多个元素,那么,就会有需求从容器内依次取出元素进行操作。将容器内的元素依次取出进行处理的行为,称之为:遍历,迭代

  • 如何遍历列表的元素:使用while循环
  • 如何在循环中取出列表里的元素:使用列表[下标]的方式取出
  • 循环条件如何设置:定义一个变量表示下标,从0开始,循环条件为 下标值<列表的元素数量
index = 0
while index < len(列表):
    元素 = 列表[index]
    对元素进行处理
    index += 1
def list_while_func():
    my_list = ["python","java","c语言","c++"]
    index = 0
    while index < len(my_list):
        #通过index变量取出对应下标的元素
        element = my_list[index]
        print (f"列表的元素:{element}")
        index += 1
list_while_func()

 

2.for循环

基础语法:

for  临时变量  in  数据容器:

      对临时变量进行处理

表示,从容器内,依次取出元素并赋值到临时变量上,在每一次的循环中,我们可以对临时变量(元素)进行处理

def list_for_func():
    my_list = [1,2,3,4,5]
    for x in my_list:
        print(f"列表的元素有:{x}")
list_for_func()

  

 while循环与for循环的对比

 练习案例:

my_list = [1,2,3,4,5,6,7,8,9,10]
my_list1 = []
index = 0
while index < len(my_list):
    element = my_list[index]
    if element%2 == 0:
        my_list1.append(element)
    index += 1
print(f"新的列表是:{my_list1}")


my_list = [1,2,3,4,5,6,7,8,9,10]
my_list1 = []
for element in my_list :
    if element%2 == 0:
        my_list1.append(element)
print(f"新的列表是:{my_list1}")

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值