Упрощение моей проблемы, у меня есть словарь словарей в моем конвейере, который я хочу напечатать в виде таблицы.печатать словарь словарей как таблицу
Например. Это мой словарь, напечатанный с использованием этого:
for k, v in dict.items():
if len(v) >= float(2):
print k , v
NODE_2908 [{'NODE_2908_1': 'gi|497712399|'}, {'NODE_2908_2': 'gi|817665741|'}]
NODE_334 [{'NODE_334_2': 'gi|639993929|'}, {'NODE_334_3': 'gi|652409655|'}]
NODE_246 [{'NODE_246_1': 'gi|754171522|'}, {'NODE_246_2': 'gi|658510970|'}]
Простой текстовый файл со своими значениями. Но я хочу напечатать «v» как табличное, избегая специальных символов «(, ', [,], {" и разделяемых «\ t». Как это:
NODE_2908 NODE_2908_1: gi|497712399 NODE_2908_2: gi|817665741|
NODE_334 NODE_334_2: gi|639993929| NODE_334_3: gi|652409655|
NODE_246 NODE_246_1: gi|754171522| NODE_246_2: gi|658510970|
Я попытался это с любым успехом:
for k, v in dict.items():
if len(v) >= float(2):
print k + '\t' + str(('\t').join(sorted(v)))
Всплывающие ошибка:
print k + '\t' + str(('\t').join(sorted(v)))
TypeError: sequence item 0: expected string, dict found
Предложения сохраняющие эту структуру будут оценены. Заранее спасибо.
Что это: 'если Len (v)> = float (2) 'все о? –
Я включил это, чтобы печатать только клавиши с более чем двумя значениями. –
Да, понятно, но зачем использовать 'float'? –