字典型数据的构造

概述

本次作业第一个坑住我的是如何把规律的文件转换为字典型数据。所以重点Review该内容。

相关文档

知识点说明

构造字典的经典基础

官方文档给了几种方式:

b = {'one': 1,'two': 2,'three': 3}
e = dict({'one': 1,'two': 2,'three': 3})

a = dict(one = 1, two = 2, three = 3)
c = dict(zip(['one','two','three'],[1,2,3]))
d = dict([('one',1),('two',2),('three',3)])

其中b和e类似可以一起记忆,a、c、d都是利用dict()函数进行构建。但是,这些方法并没有解决题目中的问题,这是让我非常困惑的地方。

利用JSON格式

在文档7. Input and Output的最后提到了7.2.2. Saving structured data with json。 经过尝试,最终放弃,因为要完全模拟字典构造数据的结构,还需要通过代码对字符串做很多操作:

  • 增加大括号{}
  • 每个数据加上引号
  • 把中间的逗号改为冒号
  • 每行最后加上逗号

填充空字典

上面的方法依然没有解决题目中要求的问题,受到Python - Read a text file into a dictionary的启发得以解决问题。核心代码如下:

f = open('file_name','r')
d = {} #构造空字典
for line in f:
    x = line.split(',')
    a = x[0]
    b = x[1]
    c = len(b)-1
    b = b[0:c]
    d[a] = b

print(d)

这其中涉及到几个自己从来没有接触到的内容:

  • for循环还可以这么用(单独的文字说明)
  • split()函数(单独的文字说明)
  • 为空字典赋值,官方文档有如下的说明
d[key] = value
# Set d[key] to value.

更多

关于字典型数据,以前很少接触,其实在字典构造背后应该是对文本文件的加工处理逻辑。

基于练习的字典构造,我想到以下几点:

  • 可以构造其他的类似案例,例如学校的成绩单数据(无论是csv还是txt格式),读入系统后进行组织查询。

    • 利用python的处理
    • 利用pandas或者numpy进行处理
  • 是否可以写一个函数,以后方便自己的调用,专门用于处理txt文件等

ChangeLog

170111 新建

results matching ""

    No results matching ""