我有一个两列制表符分隔的输入,我想在python
中填充一个字典。第一列与键关联(存在重复项),第二列与值关联。在
样本输入:
cat tail
cat whisker
cat meow
cat black
dog tail
dog paw
dog bark
bird beak
我写了下面的代码,它产生了一个(尽管是错误的)输出,其中包含我要查找的字典格式,它将col1中的一个键与col2中的所有值相关联。在
我一直使用的代码是:
^{pr2}$我已经查阅了其他参考文献 [HERE]、[HERE]和{a3},但是,所有的建议,包括使用defaultdicts
将我带到相同的输出,而不是期望的输出。在
实际输出为:
{'cat': ['tail']}
{'cat': ['tail', 'whisker']}
{'cat': ['tail', 'whisker', 'meow']}
{'cat': ['tail', 'whisker', 'meow', 'black']}
{'dog': ['tail'], 'cat': ['tail', 'whisker', 'meow', 'black']}
{'dog': ['tail', 'paw'], 'cat': ['tail', 'whisker', 'meow', 'black']}
{'dog': ['tail', 'paw', 'bark'], 'cat': ['tail', 'whisker', 'meow', 'black']}
{'bird': ['beak'], 'dog': ['tail', 'paw', 'bark'], 'cat': ['tail', 'whisker', 'meow', 'black']}
期望的输出是
{'bird': ['beak'], 'dog': ['tail', 'paw', 'bark'], 'cat': ['tail', 'whisker', 'meow', 'black']}
有人能告诉我哪里出错了吗?或者有一个更全面的解决方案,这样最终的结果就是one
字典?在
假设您已将输入拆分到“\n”
输出
您可以检查键是否存在,如果存在,则追加,如果没有,则使用单个元素创建一个列表:
输出:
^{pr2}$熊猫:
输出:
我假设您有一个名为
f_input.txt
的输入文件。在您还可以使用来自
itertools
模块的groupby
,如下例所示:输出:
^{pr2}$相关问题 更多 >
编程相关推荐