这是我文件的内容,我想达到的目的是一个字典,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,达不到我预期的效果
请问各位大佬怎么实现我需要的那种字典
首先{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
您好,暂时是看懂了,我先实践一下,有问题了再来请教你好嘛
您好,非常感谢,请问一下这个数据合并方法在什么时候可以应用的上
@清风吹杨柳: 这个方法很实用的,也是我以前工作时候写的,可以把字典类型,通过一个标识进行数据归纳
比如说
id name age height
1 小王 18 175
2 小李 18 176
3 小赵 15 165
想找 age 一样的
{
18:[id=1的数据,id2],
15:[id=3的数据]
}
这样的
@DanBrown: 我的思路也是这样,但是就是实现不了.经过上一位回答者的帮助,现在思路已经很明确了,也大概懂了接下来遇到这样的问题该怎么解决