2017-01-29 4 views
2

У меня возникли проблемы с форматированием моего вывода в python 3.0. Значения находятся в наборе для каждой клавиши.печать набора значений словаря - python

Выход у меня сейчас:

AAG -> ['AGA'] 
AGA -> ['GAT'] 
ATT -> ['TTC'] 
CTA -> ['TAC'] 
CTC -> ['TCT'] 
GAT -> ['ATT'] 
TCT -> ['CTA', 'CTC'] 
TTC -> ['TCT'] 

Выход мне нужно:

AAG -> AGA 
AGA -> GAT 
ATT -> TTC 
CTA -> TAC 
CTC -> TCT 
GAT -> ATT 
TCT -> CTA,CTC 
TTC -> TCT 

Это то, что мой код в настоящее время выглядит следующим образом. Также словарь нужно сортировать по клавишам.

#sort lexigraphically by keys 
for key in sorted(theDict): 
    print("%s -> %s" % (key, theDict[key])) 

ответ

4

Вы можете join значение для каждого ключа в виде строки, а затем отформатировать его:

for key in sorted(theDict): 
    print("%s -> %s" % (key, ','.join(theDict[key]))) 
+0

Спасибо так много! –

3

theDict[key] список строк, но вы хотите присоединиться к списку в одну строку перед печатью. Попробуйте ','.join(theDict[key]).