python练习3——数据容器

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

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

  • 是否支持重复元素

  • 是否可以修改

  • 是否有序,等

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

1、列表

1.1 列表的定义

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

  • 以 [] 作为标识

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

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

1.1.1列表的下标(索引)

如图,列表中的每一个元素,都有其位置下标索引,从前向后的方向,从0开始,依次递增 我们只需要按照下标索引,即可取得对应位置的元素。

eg:

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

如图,从后向前,下标索引为:-1、-2、-3,依次递减。

1..1.3嵌套列表的下标(索引)

如果列表是嵌套的列表,同样支持下标索引

eg:

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

1.2 列表的常用操作(方法)

1.3列表的遍历

列表的遍历 - while循环

eg:

可以使用while循环 遍历列表的元素,使用列表[下标]的方式取出 列表的元素, 定义一个变量表示下标控制循环条件,从0开始 循环,条件为 下标值 < 列表的元素数量

列表的遍历 - for循环

eg:

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

while循环和for循环的对比

while循环和for循环,都是循环语句,但细节不同:

在循环控制上:

  • while循环可以自定循环条件,并自行控制

  • for循环不可以自定循环条件,只可以一个个从容器内取出数据

在无限循环上:

  • while循环可以通过条件控制做到无限循环

  • for循环理论上不可以,因为被遍历的容器容量不是无限的

在使用场景上:

  • while循环适用于任何想要循环的场景

  • for循环适用于,遍历数据容器的场景或简单的固定次数循环场景

2、tuple(元组)

元组同列表一样,都是可以封装多个、不同类型的元素在内。 但最大的不同点在于: 元组一旦定义完成,就不可修改

2.1元组定义:

定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。

#定义元组字面量 (元素,元素,……,元素)    #定义元组变量

变量名称=(元素,元素,……,元素)             #定义空元组

变量名称=()                                                   #方式1

变量名称 = tuple()                                         #方式2

eg:

# 定义元组
z1 = (1, "good", True)
z2 = ()
z3 = tuple()

注意:元组只有一个数据,这个数据后面要添加逗号

2.2元组的操作

eg:

# 元组的嵌套
a = ( (1, 2, 3), (4, 5, 6) )
# 下标索引去取出内容
num = a[1][2]

# 元组的操作:index查找方法
b = ("good", "yes", "Python")
index = b.index("yes")

# 元组的操作:count统计方法
c = ("good", "yes", "Python","good", "yes", "Python")
num = c.count("python")

# 元组的操作:len函数统计元组元素数量
num = len(c)

元组的相关操作 - 注意事项

  • 不可以修改元组的内容,否则会直接报错

  • 可以修改元组内的list的内容(修改元素、增加、删除、反转等)

  • 不可以替换list为其它list或其它类型

2.3元组的遍历

while:

for:

3、str(字符串)

字符串是字符的容器,一个字符串可以存放任意数量的字符。

字符串常用操作汇总

4、序列

序列是指:内容连续、有序,可使用下标索引的一类数据容器 列表、元组、字符串,均可以可以视为序列。

序列的常用操作 - 切片

序列支持切片,即:列表、元组、字符串,均支持进行切片操作 切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长] 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:

  • 起始下标表示从何处开始,可以留空,留空视作从头开始

  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾

  • 步长表示,依次取元素的间隔

步长1表示,一个个取元素 ;

步长2表示,每次跳过1个元素取;

步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

注意,此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)

5、集合

集合的定义方式: {元素, 元素, ……, 元素}

集合常用功能总结

集合有如下特点:

  • 可以容纳多个数据

  • 可以容纳不同类型的数据(混装)

  • 数据是无序存储的(不支持下标索引)

  • 不允许重复数据存在 可以修改(增加或删除元素等)

  • 支持for循环

6、字典

字典的定义,同样使用{},不过存储的元素是一个个的:键值对,如下语法:

  • 使用{}存储原始,每一个元素是一个键值对 每一个键值对包含Key和Value(用冒号分隔) 键值对之间使用逗号分隔

  • Key和Value可以是任意类型的数据(key不可为字典)

  • Key不可重复,重复会对原有数据覆盖

        字典数据的获取:score = 字典变量["key"]

        嵌套字典的内容获取:score = 字典变量["key"]["key1"]

字典的常用操作总结

总结:数据容器对比总结

根容器分类

数据容器可以从以下视角进行简单的分类:

  • 是否支持下标索引

        支持:列表、元组、字符串 - 序列类型

        不支持:集合、字典 - 非序列类型

  • 是否支持重复元素:

        支持:列表、元组、字符串 - 序列类型

        不支持:集合、字典 - 非序列类型

  • 是否可以修改

        支持:列表、集合、字典

        不支持:元组、字符串

数据容器特点对比

容器通用功能总览

该学习笔记由观看 黑马程序员python教程,8天python从入门到精通,学python看这套就够了-哔哩哔哩】 https://b23.tv/fDS6HWr  而做的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值