【发布时间】:2013-11-28 04:00:12
【问题描述】:
我有文件#1,我在标准输入中提供:
{123:{'all_uppercase': 0, '#': 0, 'sscore !=0': 15}}
{456:{'all_uppercase': 0, '#': 1, 'sscore !=0': 19}}
{789:{'all_uppercase': 0, '#': 1, 'sscore !=0': 20}}
我有文件 #2:
{'+1': {'all_uppercase': 0, '#': 0, 'sscore !=0': 15}}
{'0': {'all_uppercase': 0, '#': 1, 'sscore !=0': 19}}
{'0': {'all_uppercase': 0, '#': 0, 'sscore !=0': 8}}
我的输出应该是原样:
123 15 +1
456 19 0
789 20 0
为什么这些行必须有序是很重要的。所以这意味着对于 id- 123,456,789 二进制文件分别是 +1,0,0 和值 15,19,20
我是这样计算的,因为它们是文件中的字典,但字典的问题是“顺序”,因此值的顺序不正确。
在标准输入中,我提供文件#1。
for line in sys.stdin:
d = ast.literal_eval(line)
for k,v in d.items():
inner_dict = dicts.setdefault(k, {})
inner_dict['sscore !=0'] = v.get('sscore !=0')
f = open("file#2.txt","r")
for score in f:
d2 = ast.literal_eval(senti)
print k,dicts[k]['sscore !=0'],d2.keys()
f.close()
【问题讨论】:
标签: python file file-io dictionary