import csv
ratings_file = open("ratings.txt","r")
book_file = open("booklist.txt","r")
ratinglist = open("ratings.txt").readlines()
booklist = open("booklist.txt").readlines()
print(ratinglist)
以下是我现在拥有的列表:
['Ben\n', '5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 -5 0 0 5 5 0 5 5 5 0 5 5 0 0 0 5 5 5 5 -5 \n', 'Moose\n', '5 5 0 0 0 0 3 0 0 1 0 5 3 0 5 0 3 3 5 0 0 0 0 0 5 0 0 0 0 0 3 5 0 0 0 0 0 5 -3 0 0 0 5 0 0 0 0 0 0 5 5 0 3 0 0 \n', 'Reuven\n', '5 -5 0 0 0 0 -3 -5 0 1 -5 5 0 1 0 1 -3 1 -5 0 0 0 0 0 0 3 0 0 0 0 -5 1 0 1 0 -5 0 3 -3 3 0 1 5 1 0 0 0 0 0 1 3 1 5 1 3 \n'
我需要做的是把它转换成字典
我希望这本词典的内容如下:
{"Ben" [5 0 0 0 0 0 0 1 0 1 -3 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 1 3 0 1 0 -5 0 0 5 5 0 5 5 5 0 5 5 0 0 0 5 5 5 5 -5 ], "Moose" [5 5 0 0 0 0 3 0 0 1 0 5 3 0 5 0 3 3 5 0 0 0 0 0 5 0 0 0 0 0 3 5 0 0 0 0 0 5 -3 0 0 0 5 0 0 0 0 0 0 5 5 0 3 0 0]}
每个人的名字。问题是它们是单个值的更多键,我想知道使用python是否可能做到这一点。我在网上读到过它,但是它的语法很混乱,或者根本不可能
我想做的事可能吗
不要一次将整个文件读入内存,而是使用
for
循环逐行迭代,但也使用循环体中的next
显式读取一行。这有效地让您一次迭代两行;我们假设文件中有偶数行,以避免显式地捕获StopIteration
,但如果需要,可以很容易地添加请注意,您必须在正文中使用
next(f)
,而不是f.readline()
,因为迭代器可能正在对从文件读取的数据进行自己的缓冲,并且您认为f.readline()
将返回的行可能已经被迭代器读取,并且正在内存中等待将来对next
的调用来返回它要将评级字符串转换为
int
列表,请执行以下操作:要将
rating_list
放入字典中,只需按步骤2进行循环:相关问题 更多 >
编程相关推荐