python提取相同列做差
有这么一段数据
1 a b
3 c b
4 a b
6 a c
现在想把第二列和第三列相同的 在此例中为第一和第三行
提出来 然后 第一列的数值做差
需要得到的结果为
a b :3
改如何实现啊
[解决办法]
s = '''1 a b3 c b4 a b6 a c'''# splitdictElement = {}for line in s.split('\n'): elements = line.strip().split(' ') newkey = '->'.join(elements[1:]) if dictElement.has_key(newkey): dictElement[newkey].append(int(elements[0])) else: dictElement[newkey] = [int(elements[0])]# printfor k,v in dictElement.items(): print k,vprint '---------------------'# calculatefor k,v in dictElement.items(): if len(v)>1: for i in range(1,len(v)): print k,':',v[i]-v[i-1] else: print k,':',v[0]