最初の操作は次のようになりますが、期待と一致しません:
リーリーa=[0, 0, 0, 0, 0, 1, 1, 1, 1] | b=[0, 0, 0, 0, 0, 1, 1, 1, 1]
2 番目の方法は、リスト b を一時的に保存するために中間値を追加することです。結果は次のようになります:
リーリーa=[0, 0, 0, 0, 0, 0, 0, 0, 0] | b=[0, 0, 0, 0, 0, 1, 1, 1, 1]
淡淡烟草味2017-05-24 11:37:35
実際のところ、「結果の違い」が何を意味するのかよくわかりません。あなたの出力は非常に正常ではありませんか? xor(a,c)
, 将列表a的每个元素, 和列表c的每个元素取异或结果, 导致列表变成结果a变成[0, 0, 0, 0, 0, 1, 1, 1, 1]
リスト a を変更する際に、xor 関数はリスト a を返し、それを b に代入します。このように、b と a は同じリストではないでしょうか?
以下の「中間変数」は、b の以前の値を格納するだけです。最初の方法を使用して 2 番目の方法の効果を実現したい場合は、それを b に代入する代わりに直接置き換えることができます
大家讲道理2017-05-24 11:37:35
最初の方法は、b の値を変更し、次に a と b を交換することです。2 つ目の方法は、新しい値 Mid を定義し、次に b の値を変更してから、mid を a に代入することです。
この結果は正しいですが、何が問題ですか?