2016-10-16 1 views
0

私は本からPythonを借りており、この例があります。私は本に書かれているように例を書き直しましたが、結果は本とは異なります。Python3のthis forループがなぜ辞書値を文字で分割して返しますか?

これは、これはコンソール印刷結果であるコード

favorite_languages = { 
    'jen': ['python','ruby'], 
    'bil': 'c', 
    'edward': ['ruby','haskell'], 
    'phil': 'python', 
    'marcis': ['octave','python','mysql'], 
    } 

for name, languages in favorite_languages.items(): 
    print("\n" +name.title()+"'s favorite language(s) are:") 
    for language in languages: 
     print("\t" + language.title()) 

あります。あなたが見ているように、コンソールはPhilの文のために値 'python'を表示するようになっています。

Console spells word Python by letters in each line

私は他のアイドルと同じ結果を試みています!
なぜPhilの例のために名前のpythonが各行に文字で表記されていますか?それはある種のPython言語か私のコード問題ですか?

は、「Pythonの文字列を反復処理し、あなたに単一の文字を与えているあなたは[「のpython」]としてそれを書いた場合、それはリストを反復処理し、一つの単語としてそれを記述します

for language in languages: 
:ラインため

+1

あなたの本は、この点を意図的に正確に理解できるように書いていると思います。 –

答えて

3

+1

OPに:同じことがBilの好きな言葉 'c'でも起こっていますが、これは単なる1文字なので印刷では見えません。 –

関連する問題