python提取相同列做差,该怎么解决
python提取相同列做差
有这么一段数据
1 a b
3 c b
4 a b
6 a c
现在想把第二列和第三列相同的 在此例中为第一和第三行
提出来 然后 第一列的数值做差
需要得到的结果为
a b :3
改如何实现啊
------解决方案--------------------
有这么一段数据
1 a b
3 c b
4 a b
6 a c
现在想把第二列和第三列相同的 在此例中为第一和第三行
提出来 然后 第一列的数值做差
需要得到的结果为
a b :3
改如何实现啊
------解决方案--------------------
- Python code
s = '''1 a b 3 c b 4 a b 6 a c''' # split dictElement = {} 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])] # print for k,v in dictElement.items(): print k,v print '---------------------' # calculate for 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]