读书人

python提取相同列做差,该怎么解决

发布时间: 2012-05-07 12:40:40 作者: rapoo

python提取相同列做差
有这么一段数据
1 a b
3 c b
4 a b
6 a c

现在想把第二列和第三列相同的 在此例中为第一和第三行
提出来 然后 第一列的数值做差

需要得到的结果为
a b :3

改如何实现啊

[解决办法]

Python code
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] 

读书人网 >perl python

热点推荐