python – 文件中的递归键值
发布时间:2020-12-20 13:46:30 所属栏目:Python 来源:网络整理
导读:有一个文件有两个列[可以理解为键和值]: k1 v1k2 v2k3 v3k4 k1k5 k4 现在我想从这个文件输出这样的: k1 v1k2 v2k3 v3k4 k1 v1k5 k4 k1 v1 如果某个键的值是另一个键,那么将该值转换为该行.怎么能接近这个 这可能是多值键以及k1 v1和k1 x1.对于多值键,希望
有一个文件有两个列[可以理解为键和值]:
k1 v1 k2 v2 k3 v3 k4 k1 k5 k4 现在我想从这个文件输出这样的: k1 v1 k2 v2 k3 v3 k4 k1 v1 k5 k4 k1 v1 如果某个键的值是另一个键,那么将该值转换为该行.怎么能接近这个 这可能是多值键以及k1 v1和k1 x1.对于多值键,希望有一个包含两个值的新行: k1 v1 k1 x1 k2 k1 改变为 k1 v1 k1 x1 k2 k1 v1 k2 k1 x1 解决方法
python代码:
from collections import OrderedDict dict = {} fp = open('test.txt') for line in fp.readlines(): line = line.split(" ") dict[line[0]] = line[1].replace('n','') fp.close() dict = OrderedDict(sorted(dict.items(),key=lambda t: t[0])) for key in dict: if dict.has_key(dict[key]): print key,dict[key],dict[dict[key]] else: print key,dict[key] 源文件: k1 v1 k2 v2 k3 v3 k4 k1 k5 k4 k6 k2 k7 v8 结果: k1 v1 k2 v2 k3 v3 k4 k1 v1 k5 k4 k1 k6 k2 v2 k7 v8 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |