2017-02-16 2 views
-1

Я застрял на вопрос с попыткой переформатировать Dictкак переформатировать Dict питона

Вот мой код, который писал Dict:

deLimit = "**" 
hashKey = item1 +deLimit+ item2 +deLimit+ item3 +deLimit+ item4 

mydict[hashKey] = { 
    “key”: currentTotal + 1 
        } 

with open(file,’a’) as newfile: 
    print “heading1 heading2 heading3 heading4 heading5” 
    for key, val in myDict.iteritems(): 
     print(repr((key.split('**'), val))) 

Результаты в:

heading1 heading2 heading3 heading4 heading5 
([‘item1’, ‘item2’, ‘item3’, ‘item4’], {‘key’: 1}) 
([‘item1’, ‘item2’, ‘item3’, ‘item4’], {‘key’: 1}) 
([‘item1’, ‘item2’, ‘item3’, ‘item4’], {‘key’: 1}) 

Я знаю, что repr делает приятный формат моего dict. Но как мне переформатировать вывод?

Что я ищу, чтобы достичь является:

heading1 heading2 heading3 heading4 heading5 
item1 item2 item3 item4 keyValue 
item1 item2 item3 item4 keyValue 
item1 item2 item3 item4 keyValue 
item1 item2 item3 item4 keyValue 
item1 item2 item3 item4 keyValue 
… 

Но я не уверен, как переформатировать этот выход

([‘item1’, ‘item2’, ‘item3’, ‘item4’], {‘key’: 1}) 

Благодарности

+0

У вас нет. Вы перебираете структуры и генерируете свой собственный результат. –

+0

Что такое структура 'myDict'? – Rohanil

+0

Как выглядит ваш «myDict»? –

ответ

2

Вы можете используйте примерно следующее:

for key, val in myDict.iteritems(): 
    print (key.replace('**', ' ') + ' ' + str(val['key'])) 
+0

Позвольте мне попробовать и вернуться, дайте мне знать, если это правильно. Итак, key.replace, удаляет звездочку в любом месте ключа и добавляет пробел. затем добавляется пробел до того, как будет напечатано значение ключа. – chowpay

+0

да, вы правы. – Rohanil

1
for key, val in mydict.items(): 
    print(",".join(key.split('**')),val['key'],sep=",") 
+0

Я получаю эту ошибку: 'print (", ". Join (key.split ('**')), val ['hits'], сентябре = «») ^ SyntaxError: недопустимый syntax' не уверен, как отформатировать этот ответ, но морковка под „Sep“, говоря, что его недействительным синтаксис – chowpay

+0

мой питон версия 3.5, может быть, это причина. –

+1

для python 2.x, вы можете изменить его так: 'print '" .join (key.split (' ** ')), str (val [' key ']) ' – Rohanil