2017-02-16 6 views
-1

私は辞書を再フォーマットしようとすると問題にこだわってどの辞書パイソンを再フォーマットする

はここで辞書を書いている私のコードです:

:中

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:無効な構文 ' このレスポンスをどのようにフォーマットするのかわからないが、ニンジンは無効な構文であることを示す「sep」の下にある – chowpay

+0

私のpythonバージョンは3.5です。 –

+1

のpython 2.xでは、 'print" ".join(key.split( '**'))、str(val ['key'])' – Rohanil

関連する問題