2017-03-29 3 views
-4

私は辞書を持っており、各項目にはキーと値[0]と値[1]があります。 listには値[0]のエントリが複数ありますが、keyとvalue [1]は単一の値です。 以下の出力ごとにvalue [0]を縦に出力したいと思います。python印刷辞書の値が垂直に

多くの感謝!

mydict = { 
     '1': (['John'], 20), 
     '2': (['Jane', 
      'Doe'], 21), 
     '3': (['Johnny', 
      'John', 
       'Roe'], 10), 
    } 



Output: 
    Id Name  Age 
    1  John  20 
    2  Jane  21 
      Doe 
    3  Johnny 10 
      John 
      Roe 

出力を垂直に取得するには疲れましたが、正しいフォーマットを取得できません。

for k,v in sorted(mydict.iteritems()): 
     print k, 
     print "\n".join(str(x) for x in v[0]) 
     print v[1] 
+4

あなたはこれまでに何を試しましたか? – patrick

+1

ようこそStackOverflowへ。ヘルプドキュメントの投稿ガイドラインを読み、それに従ってください。 [on topic](http://stackoverflow.com/help/on-topic)および[How to Ask](http://stackoverflow.com/help/how-to-ask)をここで適用してください。 StackOverflowは、デザイン、コーディング、リサーチまたはチュートリアルサービスではありません。 これは出力書式設定の練習です。すでに見つかっているはずの "Python出力チュートリアル"に戻り、最初にコーディングを正直に試みてください。 – Prune

答えて

0

これはトリックを行う必要がありますが、あなたのコードスニペットに基づいて、あなたが互換性の目的のためにmydict.iteritemsmydict.itemsを変更する必要があります。その場合には2.xのバージョンを使用している表示されます。

1 
John 
20 
2 
Jane Doe 
21 
3 
Johnny John Roe 
10 

をしかし、あなたは、単に(キー:値)を印刷しようとしている場合:出力

for k,v in sorted(mydict.items()): 
    print(k) 
    im_a_string = "" 

    for i in v[0]: 
     im_a_string += i + " " 

    print(im_a_string.rstrip()) 
    print(v[1]) 

助けるべきである以下の辞書のペアは... 3対2.xのが来ました.X互換性の問題が適用されます。

次の出力が得られます
my_dict={} 

my_dict["im a key"] = "im a value" 
my_dict["im another key"] = "im another value" 
my_dict 

for key,value in my_dict.items(): 
    print(key + " : " + value) 

im a key : im a value 
im another key : im another value 
関連する問題