Python中文
首页
教程
问答
标签
搜索
登录
注册
维持大名单电影/收视率秩序
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个有几十万学生的文本文件,他们对某些电影的评分,第一个单词是学生编号,第二个单词是电影名称(没有空格),第三个单词是他们对电影的评级:</p> <pre><code>student1000 Thor 1 student1001 Superbad -3 student1002 Prince_of_Persia:_The_Sands_of_Time 5 student1003 Old_School 3 student1004 Inception 5 student1005 Finding_Nemo 3 student1006 Tangled 5 </code></pre> <p>我想把它们排在字典里,这样我就把每个学生都映射到他们的电影收视率列表中,其中每个学生的收视率顺序是相同的。换言之,我希望它是这样的:</p> ^{pr2}$ <p>使每个学生的第一、第二、第三等评分与相同的电影相对应。电影和学生人数的顺序完全是随机的,我很难有效地做到这一点。任何能使这个问题的复杂程度最小化的方法的帮助都将是非常棒的。在</p> <p>我终于弄明白了。以下是我为想知道的人准备的代码:</strong></p> <pre><code>def get_movie_data(fileLoc): movieDic = {} movieList = set() f = open(fileLoc) setHold = set() for line in f: setHold.add(line.split()[1]) f.close() movieList = sorted(setHold) f = open(fileLoc) for line in f: hold = line.strip().split() student = hold[0] movie = hold[1] rating = int(hold[2]) if student not in movieDic: lst = [0]*len(movieList) movieDic[student] = lst hold2 = movieList.index(movie) rate = movieDic[student] rate[hold2] = rating f.close() return movieList, movieDic </code></pre> <p>谢谢你的帮助!在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>把分数放在字典里而不是单子里。在您阅读完所有数据之后,您可以提取电影名称并将它们按您想要的任何顺序排列。假设学生能给不同的电影评分,在阅读文件时保持某种一致的顺序,而不知道电影的顺序,这似乎是一项艰巨的工作。在</p> <p>如果您担心密钥会占用大量内存,请在键上使用<code>intern()</code>,以确保只存储每个字符串的一个副本。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
6 回答
如何在乒乓球游戏中阻止球
1 回答
如何在乘法和模中不乘空间?
9 回答
如何在乘法和除以2个不同的数字之间进行交换?
8 回答
如何在也是数据一部分的单个字符上拆分大字符串
4 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
1 回答
如何在事件wxWidgets中传递自定义数据
7 回答
如何在事件中使用lambda i=i?
5 回答
如何在事件中心只接收最近的数据
5 回答
如何在事件发生之前保持云函数运行?
6 回答
如何在事件发生后使页面重定向到同一页面
1 回答
如何在事件回调之间保持python生成器的状态
10 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
1 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
7 回答
如何在事件处理程序中访问外部对象?
3 回答
如何在事件循环中将协程打包为正常函数?
5 回答
如何在事件循环之外运行协同程序?
3 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
9 回答
如何在事件文件中只保留一份摘要?
8 回答
如何在事件模板中添加事件
6 回答