我想要一个数据结构来存储3件事-书名,用户给书的分数,以及有多少用户给了这本书唯一的分数:
BookName Score Count
Book1: 7 1
4 2
Book2: 5 1
9 1
3 2
2 1
Book3: 9 3
Book4: 8 1
9 1
4 2哪种数据结构使我能够轻松地存储和访问这些信息?
为此,我尝试使用字典,如下所示:
my_dict = [{'BookName':'Book1', 'Score': 7, 'NumberOfTimes':2},
{'BookName':'Book2', 'Score': 4, 'NumberOfTimes':1},
{'BookName':'Book1', 'Score': 5, 'NumberOfTimes':3}]但是当我想要显示Book1的所有实例时,它只显示第一个实例:
my_dict['BookName'=='Book1']
>>> {'BookName': 'Book1', 'NumberOfTimes': 2, 'Score': 7}那么,哪种数据结构是最好的,或者说最好的方法是什么呢?
发布于 2018-07-05 14:50:00
我建议你有一个如下的数据结构:
book_dict = {
'Book1': [{'NumberOfTimes':2, 'Score':7}, {'NumberOfTimes':3, 'Score':5}],
'Book2': [{'NumberOfTimes':1, 'Score':5}]
}这样,您就可以使用book_dict['Book1']访问特定图书的所有实例,还可以对图书进行迭代。
发布于 2018-07-05 14:59:41
我宁愿让它保持简单,并使用以下内容:
book_dict = {"Book1" : {7:1,4:2}, "Book2" : {5:1,9:1,3:2,2:1}}
for k,v in book_dict.items():
print (k, v)
book_dict["Book1"][7] = book_dict["Book1"][7]+1
print (book_dict["Book1"])
book_dict["Book1"][8] = 1
print (book_dict["Book1"])结果:
Book1 {7: 1, 4: 2}
Book2 {5: 1, 9: 1, 3: 2, 2: 1}
{7: 2, 4: 2}
{7: 2, 4: 2, 8: 1}https://stackoverflow.com/questions/51184734
复制相似问题