2016-04-30 9 views
-1

Dictionaryだから私は、キーの名前とその名前に関連付けられたクラスオブジェクトからなる辞書をオブジェクトとして持っています。これらのオブジェクトを辞書から1つずつリストに追加する必要がありますが、forループを使用すると、同じオブジェクトがagianに何度も追加されます。 dict.values()を追加しようとすると、リストに追加されますが、dict_valuesという単語がリスト内の最初のものになるのは、値そのものでなければなりません。誰もこれらの値を正しく付加する方法について考えていますか?私はそれが同じオブジェクトを追加し、数回の反復後のリストは、単に見えます、しかし毎回試してみて、basicListと呼ばれるリストに値を追加する辞書の値をPythonのリストに追加するのに問題がある

for value in playerDict.values(): 
    basicList.append(playerDict.values) 
    print(basicList) 

を使用している

[<built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>]

のようなオブジェクトの値を追加する際にどこが間違っていますか。基本的な質問を申し訳ありません。私はPythonにはかなり新しいです。

+3

あなたの質問、エラーメッセージ、または他の人があなたの望むものをより良く理解するのに役立つ何かを追加してください。 – Nobi

+0

ちょっと質問に詳しい情報を入れてください – huskies1313

+0

'basicList.append(value)' – spectras

答えて

1

はこれをやってみてください。

for value in playerDict.values(): 
    basicList.append(value) 
    print(basicList) 

むしろより:

for value in playerDict.values(): 
    basicList.append(playerDict.values) 
    print(basicList) 

あなたがリストにplayerDict.valuesを追加しようとすると、あなたが効果的にオブジェクト形式でplayerDictオブジェクトの値を追加しようとしていましたあなたが辞書のキーに保存したものではない(したがって、あなたは[<built-in method values of dict object at 0x103a03d48>, <built-in method values of dict object at 0x103a03d48>を得ていた)。一方、valueを追加すると、辞書に格納されているキーの実際の値が追加されます。

希望、それは役に立ちます。

+0

です。ありがとう、トン! – huskies1313

+0

あなたがうまくいけば、答えを受け入れることができます。 :) – Shubhanshu

関連する問題