数据的存储

1. 列表

1.1 列表的概念

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

1.2 列表的特色

列表具备索引的概念,能够经过索引操做列表中的数据。列表中的数据能够进行添加、删除、修改、查询等操做。数据结构

1.3 列表的基本语法

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

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

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

1.4 列表经常使用方法

2. 元组

2.1 元组的概念

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

2.2 元组的特色

元组具备索引的概念,能够经过索引操做元组中的数据。元组中的数据可行查询操做,但不能进行添加、删除、修改操做。对象

2.3 元组的基本语法

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

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

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)]
复制代码
相关文章
相关标签/搜索