2017-09-21 21 views
0

Noobishの質問はここにあります。私の日にあまりにも多くのpythonをやっていない。辞書内のリストを印刷する

deer : brown antlers doe fawn 
bear : black teeth polar cub 

それは現在この

('deer:', ['brown', 'antlers', 'doe', 'fawn']) 
('bear:', ['black', 'teeth', 'polar', 'cub']) 
のようにoutputingされています。私は辞書を巡回して、この形式のキーと同様に(この場合はリスト)の値をプリントアウトして問題を抱えています

私のコードは次のとおりです。

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'], 
      'bear': ['black', 'teeth', 'polar', 'cub']} 

for i in animals: 
    print(i +':', animals[i]) 

は明らかにそれは私のループの構文だが、失敗の時間後、私は何が起こっているかわかりません。どんな助けもありがとう、ありがとう!

+0

あなたはpythonウェブサイトのドキュメントを見てみましたか? Pythonに関する短いチュートリアルや短いチュートリアルを読んでいますか?初心者向けのPythonチュートリアルでは、知っておく必要があるすべてをカバーする必要があります。 –

+1

@Julienは彼の質問を読んで、現在の出力は彼が望むものではなく、正しくないと言った。 –

+0

@CharlesAddisチャールズ、提案してくれてありがとう! – Cody

答えて

1

はこれを試してみてください:

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'], 
      'bear': ['black', 'teeth', 'polar' 'cub']} 

for i in animals: 
    print i +':', ' '.join(animals[i]) # add () for python3... 
1

まず、私は非常にあなたが/いくつかの初心者Pythonのチュートリアルを見て読むことをお勧めします。デレク・バナスには、YouTubeの役に立つ動画がいくつかあります。問題は、リストの個々の要素ではなく、リスト全体を印刷しようとしていることです(呼び出しリストstr)。あなたが他のプログラミング言語の経験があると仮定すると、Pythonの文字列には反復可能なものを受け入れる結合メソッドがあることは驚くべきことではありません。あなたが希望しているもの、このようなものです:

# using a format string 
for key in dict_of_lists: 
    print('{} : {}'.format(key, ' '.join(dict_of_lists[key])) 
2
animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'], 
      'bear': ['black', 'teeth', 'polar', 'cub']} 


for k, v in animals.items(): 
    print "%s:%s" % (k, " ".join(str(i) for i in v)) 
3

誰もがあなたがキーと値の両方が必要な場合はPythonで、「アイテムを反復処理する方が良いという事実が欠落しています"

animals = {'deer': ['brown', 'antlers', 'doe', 'fawn'], 
      'bear': ['black', 'teeth', 'polar', 'cub']} 

for animal_name, animal_list in animals.items(): 
    print("{} : {}".format(
      animal_name, 
      " ".join(animal_list), 
      )) 
関連する問題