16

プログラミングに関しては素人ですが、Python を試しています。基本的に私ができるようにしたいのは、辞書の値に数学を使用することです。私が考えることができる唯一の方法は、辞書の値を変数に割り当ててから、新しい値を辞書に割り当てることです。このようなもの:

my_dictionary {
    'foo' = 10,
    'bar' = 20,
    }

variable = my_dictionary['foo']
new_variable += variable
my_dictionary['foo'] = new_variable

ただし、この方法で変数を割り当てようとすると、構文エラーが発生します。これを行うためのより良い簡単な方法はありますか?

編集:また、これは例としてのみ使用しています。これがプログラム全体ではなく、コードのブロックであるとしましょう。新しい変数が宣言されていないという事実はまったく関係ありません。辞書の値に対して数学を実行する方法を知りたいだけです。また、コードが含まれている関数の外部の辞書にアクセスしようとしています。

4

7 に答える 7

18

コードにはさまざまな間違いがあります。まず、最初の行のを忘れました=。さらに、dict定義では:、キーを値から分離するために使用する必要があります。

次にnew_variable、何かを追加する前に、最初に定義する必要があります。

これは機能します:

my_dictionary = {'foo' : 10, 'bar' : 20}

variable = my_dictionary['foo']
new_variable = 0 # Get the value from another place
new_variable += variable
my_dictionary['foo'] = new_variable

new_variableただし、dictエントリに直接追加することもできます。

my_dictionary = {'foo' : 10, 'bar' : 20}

variable = my_dictionary['foo']
new_variable = 0 # Get the value from another place
my_dictionary['foo'] += new_variable
于 2012-11-16T23:47:29.117 に答える
1

存在しない変数を操作しようとしています

new_variable += variable

new_variableが定義されていないため、インクリメントすることはできません。試してみてください。

my_dictionary['foo'] += my_dictionary['foo']

my_dictionaryは単なる擬似コードであり、実際にはコードで使用している定義ではないと想定しています。そうでない場合も無効です。

于 2012-11-16T23:51:29.433 に答える
0

あなたがSyntaxErrorそれをすべて間違っているので、あなたが辞書を定義するときあなたはを取得しています。別のPythonプログラム(またはドキュメント)を見て、単にウィングするのではなく、そこに示されている方法で実行してみてください。

my_dictionary = {'foo': 10, 'bar': 20}

数学の部分は構文的には問題ありませんが、必要以上に難しくなっています。

my_dictionary['foo'] += whatever
于 2012-11-16T23:47:21.290 に答える
0

それはあなたが辞書を作る方法ではありません。これは正しい構文です:

my_dictionary = {
    'foo': 10,
    'bar': 20,
}

最後のコンマは不要ですが、その後の編集でエラーが発生しにくくなります。この方法でも実行できます。

my_dictionary = dict(foo=10, bar=20)

演算子を使用して+=、辞書の値を所定の場所で更新できます。

my_dictionary['foo'] += 30
于 2012-11-16T23:47:27.223 に答える
0

このコードは変数を割り当てませんmy_dictionary。試す:

my_dictionary = {
    'foo'...

また、 でのキー値の初期化にはコロンを使用する必要がありますdict。例えば:'foo' : 10

編集:+=変数を変更するために使用する場合、変数は事前に存在している必要があります。

于 2012-11-16T23:46:10.117 に答える