为了账号安全,请及时绑定邮箱和手机立即绑定

【python】 字典添加value值问题

【python】 字典添加value值问题

SMILET 2018-08-20 10:09:07
这是我文件的内容,我想达到的目的是一个字典,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


查看完整回答
反对 回复 2018-09-10
  • 1 回答
  • 0 关注
  • 866 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信