2016-08-14 8 views
0

私は現在PythonのクラッシュコースのテキストでPythonを学んでいます。私はディクショナリのリストを特に自分で試してみることに関わっています。テキストは、文字列で整数ではなく、Pythonでリスト形式の値にアクセスする方法について説明しています。これまでのところ私のコードを手に入れましたが、好きな数字のリストをリスト形式で2回印刷します。どのように私はこれを修正して一度だけ印刷し、括弧は明白に表示しないのですか?辞書のpythonの整数のリスト

ここまでは私のコードです。

favorite_numbers = { 
    'king': ['7','10'], 
    'jake': ['29','77'], 
    'mr robot': ['234','1337'], 
    'elliot': ['1234' ,'89'], 
} 

for name, number in favorite_numbers.items(): 
    print(
    "Hey, " 
    + name.title() + 
    " your favorite numbers are: " 
    ) 
    for numbers in number: 
     print(number) 

ヘルプ?どうかありがとうございます。

for numbers in number: 
    print(numbers) 

をしかし、それは変数に名前を付ける復路のようなものだ:

答えて

1

これはあなたの現在のコードを修正します。これについてはどうですか?

for name, numbers in favorite_numbers.items(): 
    print(
    "Hey, " 
    + name.title() + 
    " your favorite numbers are: " 
    ) 
    for number in numbers: 
     print(number) 
0

名前が同じような変数があるので混乱します。あなたのケースでは、この行:

for name, number in favorite_numbers.items(): 

は、辞書内の連続した値にnumberをバインドします。この例では、特に文字列を含むリストです。

このライン:

for numbers in number: 

は、リスト内の連続した文字列にnumbersをバインドします。

このライン:

print(number) 

リスト、ない文字列を出力します。

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

for name, list_of_numbers in favorite_numbers.items(): 
    print(
    "Hey, " 
    + name.title() + 
    " your favorite numbers are: " 
    ) 
    for number in list_of_numbers: 
     print(number) 
2

私はあなたの命名はあなたに少し混乱だと思います。 numbernumbersの使用を見てください。下の固定バージョン。また、出力の外観を少し綺麗にしたい場合は、 `print(" foo "、end =" ")をチェックして、新しい行で終了しない複数のprint文を確認してください。

favorite_numbers = { 
    'king': ['7','10'], 
    'jake': ['29','77'], 
    'mr robot': ['234','1337'], 
    'elliot': ['1234' ,'89'], 
} 

for name, numbers in favorite_numbers.items(): 
    print(
    "Hey, " 
    + name.title() + 
    " your favorite numbers are: " 
    ) 
    for number in numbers: 
     print(number)