Python数据容器(列表)

本文详细介绍了Python中的数据容器(如列表、元组、字符串、集合和字典)及其特性,重点讲解了列表的定义、下标索引、常用操作,以及while和for循环在列表遍历中的应用。
摘要由CSDN通过智能技术生成

一.什么是数据容器

1.什么是数据容器

  • 一种可以存储多个元素的Python数据类型
    在这里插入图片描述

2.Python有哪些数据容器

  • list(列表)tuple(元组)str(字符串)set(集合)dict(字典)
    它们各有特点,但都满足可容纳多个元素的特性。

二.数据容器:列表

1.列表的定义

  • 基本语法
# 字面量
[元素1,元素2,元素3,元素4,...]

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

# 定义空列表
变量名称 = []
变量名称 = list[]
  • 列表内的每一个数据,称之为元素
    • 以[]作为标识
    • 列表内每一个元素之间用,逗号隔开

示例

# 定义列表
my_list = ['程序员',666,True]
print(my_list)
print(type(my_list))
# 嵌套列表定义
my_list = [ [1,2,3],[4,5,6] ]
print(my_list)
print(type(my_list))
##输出
['程序员', 666, True]
<class 'list'>
[[1, 2, 3], [4, 5, 6]]
<class 'list'>

2.列表的下标索引

  • 列表的下标索引(正向)
    在这里插入图片描述
    示例
name_list = ['Tom','Lily','Rose']
print(name_list[0])   #结果 Tom
print(name_list[1])   #结果 Lily
print(name_list[2])   #结果 Rose
  • 列表的下标索引(反向)
    在这里插入图片描述
    示例
name_list = ['Tom','Lily','Rose']
print(name_list[-3])   #结果 Tom
print(name_list[-2])   #结果 Lily
print(name_list[-1])   #结果 Rose
  • 嵌套列表的下标索引
    在这里插入图片描述
    示例
# 2层嵌套list
my_list = [ [1,2,3],[4,5,6] ]

# 获取内层第一个list
print(my_list[0])   #结果 [1,2,3]

# 获取内层第一个list的第一个元素
print(my_list[0][0])   #结果 1

下标索引注意事项

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

3.列表的常用操作

1.列表的查询功能

  • 查找某元素的下标
    • 功能:查找指定元素在列表中的下标,如果找不到,报错ValueError
    • 语法:列表.index(元素)
    • index就是列表对象(变量)内置的方法(函数)
my_list = ["itheima","itcast","python"]
print(my_list.index("itcast"))  # 结果 1

2.列表的修改功能

  • 插入元素
    • 语法:列表.insert(下标,元素),在指定的下标位置,插入指定的元素
my_list = [1,2,3]
my_list.insert(1,'itheima')
print(my_list)  # 结果 [1, 'itheima', 2, 3]
  • 追加元素
    • 语法:列表.append(元素),将指定元素追加到列表的尾部
# 追加单个元素
my_list = [1,2,3]
my_list.append('python')
print(my_list) # 结果 [1, 2, 3, 'python']
# 追加一批元素
my_list = [1,2,3]
my_list.append([3,4,5])
print(my_list) # 结果  [1, 2, 3, [3, 4, 5]]
  • 追加元素2
    • 语法:列表.extend(数据容器),将其他数据容器中的内容取出,依次追加到列表尾部
my_list = [1,2,3]
my_list.extend([4,5,6])
print(my_list)  # 输出 [1,2,3,4,5,6]
  • 删除元素
    • 语法1:del 列表[下标索引]
    • 语法2:列表.pop(下标索引)
# 方法1
my_list = [1,2,3]
del my_list[0]
print(my_list)  # 结果 [2,3]
# 方法2
my_list = [1,2,3]
my_list.pop(1)
print(my_list) #  结果 [1,3]
  • 删除某元素在列表中的第一个匹配项
    • 语法:列表.remove(元素)
my_list = [1,2,3,2,3]
my_list.remove(2)
print(my_list) #  结果 [1,3,2,3]
# 删除匹配到的第一个元素
  • 清空列表内容
    • 语法:列表.clear()
my_list = [1,2,3]
my_list.clear()
print(my_list)  # 结果 []
  • 统计某元素在列表的数量
    • 语法:列表.count(元素)
my_list = [1,2,3,2,3,2]
num = my_list.count(2)
print(num)  # 结果 3
# 元素2在列表中出现3次
  • 统计列表中有多少元素
    • 语法:len(列表)
    • 可以得到int数字,表示元素内的数量
my_list = [1,2,3,4,5]
print(len(my_list))  # 结果  5

4.总结

1.列表的常见使用方法

编号使用方式作用
1列表.append(元素)向列表中追加一个元素
2列表.extend(数据容器)将数据容器中的元素依次取出,追加到列表的尾部
3列表.insert(下标,元素)在指定下标处,插入指定元素
4del 列表[下标索引]删除列表指定下标索引元素
5列表.pop[下标索引]删除列表指定下标索引元素
6列表.remove(元素)从前向后,删除此元素第一个匹配项
7列表.clear()清空列表
8列表.count(元素)同级元素在列表中出现的次数
9列表.index(元素)查找指定元素在列表下的下标,找不到报ValueError
10len(元素)统计列表中元素的个数

2.列表的特点

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

5.练习

在这里插入图片描述

# 1.定义这个列表,并用变量接收它
my_list = [21,25,21,23,22,20]
print(my_list)
[21, 25, 21, 23, 22, 20]
# 2.追加一个31,到列表的尾部
my_list.append(31)
print(my_list)
[21, 25, 21, 23, 22, 20, 31]
# 3.追加一个新列表[29,33,30]到列表的尾部
my_list.extend([29,33,30])
print(my_list)
[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]
# 4.取出第一个元素(应该是21)
print(my_list[0])
21
# 5.取出最后一个元素(应该是30)
print(my_list[-1])
30
# 6.查找31元素,在列表中的下标的位置
print(my_list.index(31))
6

三.列表的遍历

1.列表的遍历

  • while遍历
my_list = [1,2,3,4,5]
index = 0
while index < len(my_list):
    print(my_list[index])
    index += 1
#结果 1 2 3 4 5
  • for遍历
my_list = [1,2,3,4,5]
for element in my_list:
    print(element)
#结果 1 2 3 4 5

2.while循环和for循环的对比

  • 在循环控制上:
    • while循环可以自定义循环条件,并自行控制
    • for循环不可以自定义循环条件,只可以一个个从容器中取出
  • 在无限循环上:
    • while循环可以通过条件控制做到无限循环
    • for循环理论上不可以,因为被遍历的容器不是无限的
  • 在使用场景上:
    • while循环适用于任何想要循环的场景
    • for循环适用于,遍历容器的场景或简单的固定次数的循环场景

3.练习

在这里插入图片描述

 # while循环
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list2 = []
index = 0
while index < len(my_list):
    if my_list[index] %2 == 0:
        my_list2.append(my_list[index])
    index += 1
print(f"通过while循环,从列表{my_list}中取出偶数,组成新列表{my_list2}")
通过while循环,从列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中取出偶数,组成新列表[2, 4, 6, 8, 10]
# for循环
my_list = [1,2,3,4,5,6,7,8,9,10]
my_list2 = []
for element in my_list:
    if element %2 == 0:
        my_list2.append(element)
print(f"通过for循环,从列表{my_list}中取出偶数,组成新列表{my_list2}")
通过for循环,从列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]中取出偶数,组成新列表[2, 4, 6, 8, 10]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值