2012-05-09 11 views
2

が、これは私の辞書変換辞書

dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'} 

である私は、出力を取得したいと思います:

dictionary for a 
apple: der Apfel 
ant:die Ameise 
asparagus:der Spargel 

私は

を助けてください、私は

def tutorial8_part2(): 
    dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'} 
    dictList = dict.items() 
    for key, value in dict.iteritems(): 
    temp = [] 
    aKey = key 
    aValue = value 
    temp.append(aKey) 
    temp.append(aValue) 
    dictList.append(temp) 
    print dictList.append(temp) 
をやってみました 辞書に新しいです

しかし、あなただけのキーと値のペアを印刷するには、辞書を反復処理しようとしている場合は、そのは

+2

コードで何をしようとしているのか分かりません。 –

+2

それは動作しない理由は、リストの.append()メソッドはリストを変更するが、*は 'None'を返すということです。 'dictList.append(temp)'を実行した後、dictListに 'temp'が追加され、単に' print dictList'を実行することができます – Marius

+0

キーと値のペアを出力したいだけですか?注文はあなたに関係しますか? – Akavall

答えて

2

を動作していない:1行で

>>> dict_ = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'} 
>>> for k,v in dict_.iteritems(): 
... print k, ':', v 
... 
ant : die Ameise 
asparagus : der Spargel 
apple : der Apfel 

をジェネレータ式を使用して:

>>> print '\n'.join('{}: {}'.format(k,v) for k,v in dict_.iteritems()) 
ant: die Ameise 
asparagus: der Spargel 
apple: der Apfel 

補足として、dictを変数名として使用しないでください。これはビルトインをシャドウするためです。

2

これはあなたがやろうとしていることですか?

は(EDIT:新しい出力形式に更新)

my_dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'} 

print 'dictionary for a' 
for k, v in my_dict.iteritems(): 
    print '%s:%s' % (k, v) 

利回り:

dictionary for a 
ant:die Ameise 
asparagus:der Spargel 
apple:der Apfel 

(注)この順序はあなたが投稿したものとは異なるが、問題はそれをしなかったこと注文が重要かどうかを明確にする。

@wimによって正しく示唆されているように、dictを変数名として使用しない方が良いでしょう。

3

あなただけの長い行の各キーと値のペアを印刷したい場合は、あなたがこれを行うことができます:

dict = {'apple':'der Apfel', 'ant':'die Ameise', 'asparagus':'der Spargel'} 
for key, value in dict.items(): 
    print key + ':', value, 
print 

出力は、おそらくあなたは辞書を作成したときと同じ順序ではありません。辞書を繰り返し処理しても、特にsorted()組み込み関数を使用してキーをソートしない限り、特定の順序は保証されません。

関連する問題