我在将输入从文件转换为字典结构时遇到麻烦。

来自文件的输入具有以下格式:questionNo user_id response

questionNo是响应的问题编号。 user_id
唯一标识做出回复的人。 response是用户为回答问题而输入的答案。

在文件中看起来像这样:

1 67 1
1 109 1
1 23 2
1 24 1
1 67 3
1 23 5
2 23 3
3 22 4


我想做的就是将这些数据转换成这样的结构:

{user_id:{ questionNo:response, questionNo:response,.......},user_id{...}...}


每个问题的编号和user_id都是唯一的

我的问题是我在实现这一点上一直没有成功。就像我遇到了精神上的路障。我不是要你们给我编码解决方案,只是一些提示或技巧可以帮助我解决这个问题。

谢谢。

最佳答案

我假设您已将文件中的条目读入entries列表中,以简化操作。然后,我将使用defaultdict为我们节省一些逻辑:

from collections import defaultdict

dct = defaultdict(dict)

for questionNo, user_id, response in entries:
    dct[user_id][questionNo] = response

关于python - 无法将输入翻译成字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22238828/

10-09 22:40