一、数据组织的维度
从一个数据到一组数据
维度:一组数据的组织形式
1、一维数据
由对等关系的有序或无序数据构成,采用线性方式组织
3.1413, 3.1398, 3.1404, 3.1401, 3.1349, 3.1376
- 对应列表、数组和集合等概念
2、二维数据
由多个一维数据构成,是一维数据的组合形式
表格是典型的二维数据
3、多维数据
由一维或二维数据在新维度上扩展形成
4、高维数据
仅利用最基本的二元关系展示数据间的复杂结构
在字典中,使用键值对来表示值和属性之间的关系,对键值对进行有效组织,可以表达更复杂的逻辑关系,即高维数据
{
"firstName" : "Tian" ,
"lastName" : "Song" ,
"address" : {
"streetAddr" : "中关村南大街5号" ,
"city" : "北京市" ,
"zipcode" : "100081"
} ,
"professional" : ["Computer Networking" , "Security"]
}
5、数据的操作周期
存储(磁盘) <-> 表示(程序) <-> 操作
二、一维数据的表示
1、一维数据的表示
如果数据间有序:使用列表类型
ls = [3.1398, 3.1349, 3.1376]
- 列表类型可以表达一维有序数据
- for循环可以遍历数据,进而对每个数据进行处理
2、一维数据的表示
如果数据间无序:使用集合类型
st = {3.1398, 3.1349, 3.1376}
- 集合类型可以表达一维无序数据
- for循环可以遍历数据,进而对每个数据进行处理
三、一维数据的存储
1、存储方式一:空格分隔
中国 美国 日本 德国 法国 英国 意大利
- 使用一个或多个空格分隔进行存储,不换行
- 缺点:数据中不能存在空格(如果数据中本身也存在空格,将无法区分这个空格是在数据内内部,还是在数据之间)
2、存储方式二:逗号分隔
中国,美国,日本,德国,法国,英国,意大利
- 使用英文半角逗号分隔数据进行存储,不换行
- 缺点:数据中不能有英文逗号(原因同上)
3、存储方式三:其他方式
中国$美国$日本$德国$法国$英国$意大利
- 使用其他符号或符号组合分隔,建议采用特殊符号
- 缺点:需要根据数据特点定义,通用性较差
四、一维数据的处理(读写)
1、数据的处理
存储 <-> 表示
- 将存储的数据读入程序
- 将程序表示的数据写入文件
2、一维数据的读入处理
①从空格分隔的文件中读入数据
中国 美国 日本 德国 法国 英国 意大利
注:.read()得到一串字符串,ls为列表
②从特殊符号分隔的文件中读入数据
中国$美国$日本$德国$法国$英国$意大利
3、一维数据的写入处理
①采用空格分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')#打开文件,执行写操作
f.write(' '.join(ls))
f.close()
注:join()方法是指将join前面的字符串(这里是空格)分割放置到后边的join参数中各个元素之间
②采用特殊分隔方式将数据写入文件
ls = ['中国', '美国', '日本']
f = open(fname, 'w')
f.write('$'.join(ls))
f.close()
总结:文件写入字符:join方法;文件用字符分割:split方法
单元小结:
- 数据的维度:一维、二维、多维、高维
- 一维数据的表示:列表类型(有序)和集合类型(无序)
- 一维数据的存储:空格分隔、逗号分隔、特殊符号分隔
- 一维数据的处理:字符串方法 .split() 和 .join()