我有文件#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-123456789,二进制文件分别是+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()
看起来您需要像这样使用
zip
我就是这样解决的:
#以读取格式打开文件
Zip有助于保持值的原样
把它解释成字典
#对于键,字典项中的值
#获取字典的值部分的值,因为它的字典在字典中
#打印字典的键,获取与其键对应的sscore的值,通过按空格拆分获取第一列值
如果有人能改进代码,请告诉我。你知道吗
相关问题 更多 >
编程相关推荐