Dear all thanks for your suggestion!!! Thanks to your suggestion I create this structure:with open("prova.csv") as p: for i in p: lines =i.rstrip("\n").split("\t") ...: print lines ...: ['programs ', 'sample', 'gene', 'values'] ['program1', 'sample1', 'TP53', '2'] ['program1', 'sample1', 'TP53', '3'] ['program1', 'sample2', 'PRNP', '4'] ['program1', 'sample2', 'ATF3', '3'] ['program2', 'sample1', 'TP53', '2'] ['program2', 'sample1', 'PRNP', '5'] ['program2', 'sample2', 'TRIM32', '4'] ['program2', 'sample2', 'TLK1', '4']
In [4]: with open("prova.csv") as p: for i in p: lines =i.rstrip("\n").split("\t") dizlines diz In [4]: with open("prova.csv") as p: for i in p: lines =i.rstrip("\n").split("\t") line = (lines[0],lines[1]) ...: diz.setdefault(line,set()).add(lines[2]) ...: In [5]: diz Out[5]: {('program1', 'sample1'): {'TP53'}, ('program1', 'sample2'): {'ATF3', 'PRNP'}, ('program2', 'sample1'): {'PRNP', 'TP53'}, ('program2', 'sample2'): {'TLK1', 'TRIM32'}, ('programs ', 'sample'): {'gene'}} So what I want to do is to use intersect between the keys recursively: s = diz[('program2', 'sample1'] ....: ....: KeyboardInterrupt In [14]: s = diz[('program2', 'sample1')] In [15]: s Out[15]: {'PRNP', 'TP53'} In [16]: a Out[16]: {'ATF3', 'PRNP'} In [17]: s.inte s.intersection s.intersection_update In [17]: s.intersection(a) Out[17]: {'PRNP'} How can Have a intersect of all my dictionary and from ('program1', 'sample1') vs ('program1', 'sample2')... I want to count how many genes are common Thanks in advance for your help! _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor