文章目录
文章背景
- 学习Python 变量 字典 列表 字符串 这些基础之后,入门第一个小的作业。
- 那我该怎么入门呢?我该怎么去学习呢?
- 这里我给大家讲解一下面向对象的编程方法,也是我初入门的时候比较疑惑的地方:如何去解决一个问题
题目
读取一个文件,将文件中转换为字典,key值为学习项目,value值为一个负责人列表,并判断字典中是否有负责人负责多个学习项目。
homework.txt 文件内容如下:
python学习 咖喱 胡骞
leetcode刷题 老表 陈焕森
编程集训 孙超 小熊
统计学 李奇峰 蓝昔
ML项目实践 杨冰楠 孙涛
高级算法梳理 于鸿飞 小雪
基础算法梳理 sm1les 钱令武
知乎小组 李严 黑桃
学习群 咖喱 排骨
学习群(空格)咖喱(空格)排骨(换行符)
分析
题目可以拆解成两部分
- 读取文件,将 key值为学习项目,value值为一个负责人列表
- 【难点】怎么读取文件?怎么去提取里面的数据?
- 读取文件的方法,在廖雪峰的官网就有,照葫芦画瓢就可以了
- 字符串切割字符的方法
- 判断是否有负责人负责多个学习项目
- 这个我觉得不难,只是一个逻辑判断
- 具体实现的方式有很多。看你自己处理这个问题的方法
详细解释
读取 homework.txt 这个文件
先看下我实现这个功能的代码,如果看不懂没关系
_dict = {
} # 建立空字典
with open('homework.txt', encoding='utf-8') as f: # 读取文件
# print(type(f)) # 查询类型
# print(dir(f)) # 查询方法
for line in f.readlines():
word = line.split() # 对每一行进行切割
_group = word[0] # 提取key值
_name_list = [word[1], word[2]] # 提取value值
_dict[_group] = _name_list
输出结果如下:
再看一个图
如果看不懂,没关系。继续往下~~
open() 方法
首先我们来看看怎么读取一个文件,看廖雪峰的教程 IO编程-文件读写,教程里面有教比较基础的方法,我这里跳出重要部分讲解。
# 方法一
f = open('/path/to/file', encoding='utf-8')
print(f.read())
f.close()
#