リストを渡すと、Python関数の奇妙な動作を理解するのに問題があります。次の関数を作成しました。
def func(x):
y = [4, 5, 6]
x = y
def funcsecond(x):
y = [4, 5, 6]
x[1] = y[1]
x = [1, 2, 3]
func(x)を呼び出してxを出力すると、[1、2、3]が出力されます。これは、xが以前と同じように、リストyをxに割り当てません。ただし、funcsecond(x)を呼び出すと、xの2番目の位置に5が割り当てられます。どうしてこんなことに?リスト全体を割り当てると何も起こりませんが、要素を1つだけ割り当てると、最初に呼び出したリストが変更されます。どうもありがとうございました。私が何を言おうとしているのか理解していただければ幸いです。英語で自分を表現するのに苦労しています。