検索

ホームページ  >  に質問  >  本文

Python でのリスト代入の問題について質問する

###なぜ###

s = [1, 2, 3, 4, 5, 6]
i = 0

i = s[i] = 3
結果は次のようになります。 : [3、2、3、4、5、6] の代わりに [1、2、3、3、5、6]

#
女神的闺蜜爱上我女神的闺蜜爱上我2726日前982

全員に返信(6)返信します

  • PHP中文网

    PHP中文网2017-06-12 09:26:18

    以下に私が書いた記事を参照してください: Python: The Pitfalls of Chained Assignment

    返事
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:26:18

    課題ステートメントによると:

    リーリー

    と同等です リーリー

    つまり: i=s[i]=3 は次と同等です:

    リーリー

    Python の 代入は演算子ではなくステートメントです。そのため、式 (a=b) は構文エラーを生成し、代入ステートメントには値がありません

    返事
    0
  • 怪我咯

    怪我咯2017-06-12 09:26:18

    参考 https://stackoverflow.com/que...

    と同等です リーリー

    まず、iが3になり、次に値s[i]が代入されます

    返事
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:26:18

    結果を振り返ると、s[i] = 3よりも前にi=3が実行されていました。

    二つの文に分けて書くことはできないでしょうか?

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-06-12 09:26:18

    PythonTutor.com を使用できます
    i = s[i] = 3 この行は基本的に i=3 と s[i]=3 を連続して実行します

    返事
    0
  • typecho

    typecho2017-06-12 09:26:18

    i = s[i] = 3 等价于 i = 3; s[i] = 3

    dis モジュールを使用して実行プロセスを分析します:

    リーリー

    書き分け例

    リーリー

    返事
    0
  • キャンセル返事