[Tutor] how to delete some quasi-duplicated keys

lina lina.lastname at gmail.com
Fri Nov 25 10:50:20 CET 2011


        for key, value in pairs.items():
            if key[::-1] in pairs.keys() and pairs[key] != 0:
                pairs[key] += pairs[key[::-1]]
                pairs[key[::-1]]=0
        for k, v in pairs.items():
            if v != 0:
                print(v,k)

Now very trivial, but works.


On Fri, Nov 25, 2011 at 5:34 PM, lina <lina.lastname at gmail.com> wrote:
> #!/usr/bin/python3
>
> dehydrons={}
> pairs={}
> #frozen set way pairs
> fs_pairs={}
> occurence={}
> total=0
> dictionary={}
> candidate_dehydron={}
>
>
> if __name__=="__main__":
>
>    with open("dehydron_refined_data_18.txt","r") as f:
>        for line in f.readlines():
>            parts=line.split()
>            #pair=set((parts[0],parts[1]))
>            if (parts[0],parts[1]) not in dehydrons.keys():
>                dehydrons[(parts[0],parts[1])]=parts[2]
>                occurence[(parts[0],parts[1])]=1
>                #pair=frozenset(('parts[0]','parts[1]'))
>                #pairs[pair]=pairs.get(pair,0)+parts[2]
>            else:
>                occurence[(parts[0],parts[1])]+=1
>            #for k, v in dehydrons.items():
>            #print(k,v)
>
>
>        for k, v in occurence.items():
>            if v>=25:
>                #print(v,k)
>                candidate_dehydron[k]=v
>            #print("{:.2f}".format(v/2768*100),k)
>            total+=v
>        print(total)
>
>        for k, v in candidate_dehydron.items():
>            pairs[k] = v
>
>
>        '''for key in pairs.keys():
>            if key[::-1] in pairs:
>                pairs[key] += pairs[key[::-1]]
>                del pairs[key[::-1]]
>            print(pairs)'''
>
>
>        #for k, v in pairs.items():
>            #print(v,k)
>
>
>
>            I attached the not working code,  Thanks for any advice,
>
>
> best regards,
>


More information about the Tutor mailing list