这是我文件的内容,我想达到的目的是一个字典,key是账号,value值是一个集合,集合里边的内容就是账号对应的课程.即我需要的内容: {1514077706:{Java开发,Python开发},1966370841:{Python开发}} 我写的代码如下:less = {}
lsn = set()
file_stu = open('student_lesson', 'r', encoding='utf-8')for line in file_stu:
name,course = line.strip().split(':')
lsn.add(course)
less[name] = lsn这样的显示结果: {1514077706:{Java开发,Python开发},1966370841:{Java开发,Python开发}} 尝试写的一种代码less = {}
lsn = set()
file_stu = open('student_lesson', 'r', encoding='utf-8')for line in file_stu:
name,course = line.strip().split(':')
less[name] = lsn.add(course)但是这样写的话,每个key对应的value值都是None,达不到我预期的效果请问各位大佬怎么实现我需要的那种字典
1 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
首先{1514077706:{Java开发,Python开发},1966370841:{Python开发}} 有问题因该是{1514077706:["Java开发",",Python开发"],1966370841:["Python开发"]},你写的是字典套字点还没有value值;{}是字段,[]是列表(数组)
下面给你一个数据合并方法你看懂这个就都明白了
def adata(self, list): if len(list) == 0: print "The list length is empty !!!" return data = {} for i, v in enumerate(list): uid = v["userid"] if data.has_key(uid): data[uid].append(list[i]) else: lists = [] lists.append(list[i]) data[uid] = lists return data
添加回答
举报
0/150
提交
取消