У меня есть файл, из которого мне нужно удалить дублированные пары (выделены полужирным шрифтом).словарь python удалять повторяющиеся пары значений ключей
Входной файл:
AT1G01010 = 0005634
**AT1G01010 = 0006355**
AT1G01010 = 0003677
AT1G01010 = 0007275
**AT1G01010 = 0006355
AT1G01010 = 0006355**
AT1G01010 = 0006888
**AT1G01020 = 0016125**
AT1G01020 = 0016020
**AT1G01020 = 0005739**
**AT1G01020 = 0016125**
AT1G01020 = 0003674
AT1G01020 = 0005783
**AT1G01020 = 0005739**
**AT1G01020 = 0006665
AT1G01020 = 0006665**
Ожидаемый результат:
AT1G01010 = 0005634
AT1G01010 = 0006355
AT1G01010 = 0003677
AT1G01010 = 0007275
AT1G01010 = 0006888
AT1G01020 = 0016125
AT1G01020 = 0016020
AT1G01020 = 0005739
AT1G01020 = 0003674
AT1G01020 = 0005783
AT1G01020 = 0006665
Так, чтобы удалить дубликаты, я первым сделал словарь. После создания словаря я пробовал эту кодировку:
import sys
ara_go_file = open (sys.argv[1]).readlines()
ara_id_list = []
ara_go_list = []
for lines in ara_go_file:
split_lines = lines.split(' ')
ara_id = split_lines[0]
ara_id_list.append(ara_id)
go_id_split = split_lines[-1]
go_id = go_id_split.split('\n')[0]
ara_go_list.append(go_id)
ara_id_go_dic = dict (zip(ara_id_list, ara_go_list)) ##ara_id_go_dic (this is the name of the dict I have created)
new_dict = {} # made a new dict to copy the data into this n remove the duplicate pairs
for k in ara_id_go_dic.items():
if k[0] in new_dict:
if k[1] not in new_dict[k[0]]:
new_dict[k[0]].append(k[1])
else:
new_dict[k[0]]=[k[1]]
print new_dict
Я не знаю, где именно я делаю ошибку.
Пожалуйста, дайте мне знать мою ошибку, иначе, если есть другой способ удалить повторяющиеся пары.
Какой выход вы получаете? –
Я получаю пустой dict. – rhkss
Как создается словарь 'ara_id_go_dic'? Можете ли вы просто распечатать этот словарь? –