s = [1, 2, 3, 4, 5, 6]i = 0i = s[i] = 3 結果は次のようになります。 : [3、2、3、4、5、6] の代わりに [1、2、3、3、5、6] #
i = 0i = s[i] = 3 結果は次のようになります。 : [3、2、3、4、5、6] の代わりに [1、2、3、3、5、6] #
i = s[i] = 3 結果は次のようになります。 : [3、2、3、4、5、6] の代わりに [1、2、3、3、5、6]
以下に私が書いた記事を参照してください: Python: The Pitfalls of Chained Assignment
課題ステートメントによると:
は
つまり: i=s[i]=3 は次と同等です:
i=s[i]=3
Python の 代入は演算子ではなくステートメントです。そのため、式 (a=b) は構文エラーを生成し、代入ステートメントには値がありません。
(a=b)
参考 https://stackoverflow.com/que...
まず、iが3になり、次に値s[i]が代入されます
結果を振り返ると、s[i] = 3よりも前にi=3が実行されていました。
二つの文に分けて書くことはできないでしょうか?
PythonTutor.com を使用できますi = s[i] = 3 この行は基本的に i=3 と s[i]=3 を連続して実行します
i = s[i] = 3 等价于 i = 3; s[i] = 3
i = s[i] = 3
i = 3; s[i] = 3
dis モジュールを使用して実行プロセスを分析します:
書き分け例
以下に私が書いた記事を参照してください: Python: The Pitfalls of Chained Assignment
課題ステートメントによると:
リーリーは
と同等です リーリーつまり:
リーリーi=s[i]=3
は次と同等です:Python の 代入は演算子ではなくステートメントです。そのため、式
(a=b)
は構文エラーを生成し、代入ステートメントには値がありません。参考 https://stackoverflow.com/que...
は
と同等です リーリーまず、iが3になり、次に値s[i]が代入されます
結果を振り返ると、s[i] = 3よりも前にi=3が実行されていました。
二つの文に分けて書くことはできないでしょうか?
PythonTutor.com を使用できます
i = s[i] = 3 この行は基本的に i=3 と s[i]=3 を連続して実行します
i = s[i] = 3
等价于i = 3; s[i] = 3
dis モジュールを使用して実行プロセスを分析します:
リーリー書き分け例
リーリー