x = [1, 2, 3]
y = x
x[1] = 'AB'
y[1] = y[1][0]
print(x, y)
>>>
[1, 'A', 3] [1, 'A', 3]
xリストのインデックス1に「AB」値を割り当てるので、yリストもこの値を取得します。次に、y [1][0]の値をy[1]に割り当てますが、y [1] [0]の表記はどういう意味ですか?
x = [1, 2, 3]
y = x
x[1] = 'AB'
y[1] = y[1][0]
print(x, y)
>>>
[1, 'A', 3] [1, 'A', 3]
xリストのインデックス1に「AB」値を割り当てるので、yリストもこの値を取得します。次に、y [1][0]の値をy[1]に割り当てますが、y [1] [0]の表記はどういう意味ですか?
y[1]
リストの2番目の項目、つまり文字列である「AB」です。文字列を使用すると、インデックスを使用してその値にアクセスできるためy[1][0]
、文字列'AB'の最初の項目、つまり'A'になります。
Pythonの文字列とスライス表記の概要については、こちらをご覧ください。
val = y[1][0]
と同じ結果が得られます
tmp = y[1]
val = tmp[0]
x[1] = "AB"
y[1] = "AB"
xとyは同じリストなので、も割り当てます
y[1] = "AB"
したがってy[1][0] = 'A'
これが役立つかどうかを確認する
x = [1, 2, 3]
y = x
print "Y",y
print "X",x
x[1] = 'AB'
print "Y[1]",y[1]
print "Y[1][0]",y[1][0]
y[1] = y[1][0]
それはスライスのスライスです。
>>>a = ["a", ["b", ["c"]]]
>>> print a[1][1][0]
'c'
行の前
y[1] = y[1][0]
y[1]は「AB」に等しい
'AB'[0]は'A'と等しく、文字列'AB'の位置0にある文字が'A'であることを意味します。
したがって、y[1]をy[1] [0]に割り当てるときは、それを「A」に割り当てます。