数据的存储

1. 列表

1.1 列表的概念

列表是一种存储大量数据的存储模型。

1.2 列表的特点

列表具有索引的概念,可以通过索引操作列表中的数据。列表中的数据可以进行添加、删除、修改、查询等操作。

1.3 列表的基本语法

创建列表: 变量名 = [数据1,数据2,...]

获取列表数据: 变量名[索引]

修改列表数据: 变量名[索引] = 值

1.4 列表常用方法

2. 元组

2.1 元组的概念

元组是一种存储固定数据的存储模型。

2.2 元组的特点

元组具有索引的概念,可以通过索引操作元组中的数据。元组中的数据可行查询操作,但不能进行添加、删除、修改操作。

2.3 元组的基本语法

创建元组: 变量名 = (数据1,数据2,...)

获取元组数据: 变量名[索引]

2.4 元组的常用方法

2.5 注意事项

元组中的数据如果是非引用类型数据,不允许修改

元组中的数据如果是引用类型对象,该对象不允许替换,而对象的属性值可以发生改变

2.6 元组的特殊应用

自动组包:将多个数据赋值给一个变量时,多个数据将包装成一个元组,将元组赋值给变量,该过程称为自动组包。

应用场景:设置返回值为多个值

return 1,2,3  等同于   return (1,2,3)
复制代码

应用场景:动态字符串赋值传值方式

print("坐标%d,%d" % (10,20))
复制代码

自动解包:将元组赋值给多个变量时,如果元组数据的数量与变量的数量相同,元组将被自动拆分成多个值,并赋值给对应变量,该过程称为自动解包。

场景:多个变量接收返回值

a,b,c = func()等同于 a,b,c = (1,2,3)等同于a,b,c = 1,2,3
复制代码

场景:动态字符串赋值取值方式

print(“坐标%d,%d” % (10,20))	将10给第一个%d,将20给第二个%d
复制代码

3. 集合

3.1 集合的概念

集合是一种存储大量无序不重复数据的存储模型。

3.2 集合的特点

集合没有索引的概念。集合中的数据可以进行添加、删除等操作。

3.3 集合的基本语法

创建集合:

变量名 = {数据1,数据2,......}
复制代码

3.4 集合常用方法

4. 字典

4.1 字典的概念

字典是一种使用“键值对结构”存储数据的存储模型。

4.2 字典的特点

字典不具有索引的概念,字典使用键key代替索引,可以通过键操作字典中存储的数据value。字典可以根据键key进行数据的添加、删除、修改、查询操作。

4.3 字典的基本语法

创建字典: 变量名 = {键1:值1,键2:值2,……}

添加数据: 变量名[键] = 值 (字典中没有对应的键)

获取数据: 变量名[键]

修改数据: 变量名[键] = 值 (字典中存在对应的键)

4.4 字典常用方法

4.5 注意事项

字典中的键是唯一的

4.6 字典的作用

1.当需要存储少量数据,并且期望在编程期以最快的速度获取单个数据, 推荐选择字典。

2.当需要使用非对象格式保存单个对象的属性值,推荐选择字典。

5. 格式转换

6. for循环

6.1 for循环的作用

for循环用于对数据存储模型进行访问遍历

6.2 for循环的基本语法

for 变量名 in 列表:
    变量相关操作
复制代码

7. Range

7.1 range的功能

创建连续的整数

7.2 range的基本语法

格式1:range(m) 生成 0 到 m-1 的整数

格式2:range(m,n) 生成 m 到 n-1 的整数

格式3:range(m,n,s) 生成 m 到 n-1 的整数,整数间隔为s

7.3 range的应用场景

1.配合for循环构造指定次数的循环

for _ in range(..):
____循环执行的代码
复制代码

2.快速创建由连续的整数作为数据的列表、元组、集合对象

list(range(..))

tuple(range(..))

set(range(..))

8. 数据存储结构嵌套

8.1 数据存储结构嵌套的概念

数据结构嵌套指一种数据结构中包含的数据是另一种数据结构

8.2 范例

9. 公共方法

10. 切片

10.1 切片的作用

获取列表、元组或字符串中的局部数据

10.2 切片基本语法

容器对象[开始索引:结束索引:步长]

10.3 特殊格式:

省略开始索引:默认开始索引为0
范例:list1[:5:1]	等同于   list1[0:5:1]  
省略结束索引:默认结束索引为数据总量
范例:list1[0::1]	等同于   list1[0:len(list1):1]
省略步长:每次递增索引数为1
范例:list1[0:5:]	等同于   list1[0:5:1]  
负数步长:	反向操作/反向步长操作,需要开始索引、结束索引逆序输入
范例:list1[5:0:-1]	  
常见格式:
范例:list1[:5:]	获取索引5之前的数据(不含5)  
范例:list1[4::]	获取索引4之后的数据(含4)
复制代码

11.通用运算符

12. for...else

12.1 for...else基本语法

for 变量名 in 列表:
    变量相关操作
else:
    循环正常运行结束后执行的操作
复制代码

12.2 注意事项

1.如果for循环中执行了break语句,则else中的代码将不执行

2.while循环同样具有while…else语法格式

13. 推导式

13.1 推导式基本语法

基础语法格式:   循环变量 for 循环
范例:list1 = [data for data in range(5)]
数据处理语法格式:	表达式 for循环
范例:list1 = [data*5 for data in range(5)]
数据过滤语法格式:	表达式 for循环 if判断
范例:list1 = [data for data in range(5) if data > 200]
复制代码

13.2 推导式的作用

推导式可以快速生成数据存储结构中的数据

范例1:创建包含1到100所有整数的列表
list1 = [data for data in range(1,101)]

范例2:创建包含1到10的平方和的列表
list2 = [data**2 for data in range(1,11)]

范例3:创建字典,key从1到5,value是key的平方
dict1 = [(data,data**2) for data in range(1,6)]
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值