あなたの質問を正しく読んでいるかどうかわかりません。そのために残念。しかし、あなたのコードは Python で驚くべきことを示しています。これはかなり予想されます。
>>> a = 4534534
>>> b = 4534534
>>> a is b
False
Python は 2 つの別個のオブジェクトを作成しました。これが Python の通常の動作です。
>>> a = 1
>>> b = 1
>>> a is b
True
何?最適化として、Python はプールから小さな整数を共有するため、同じ ID を持つようになります。
それはあなたが尋ねようとしていたものですか?
あなたが書く場合:
m = list[:]
list の浅いコピーが作成され、m に割り当てられます。リストのオブジェクト ID は異なりますが、コンテンツのオブジェクト ID は同じです。リストには不変のintが含まれているため、リストのコピーを参照して元のリストの値を変更することはできません。ただし、リストに変更可能な値 (オブジェクト、dict、またはその他のリストなど) が含まれている場合、リスト内の共有された変更可能なアイテムへの変更は、元のリストに反映されます。
// 演算子は、結果を最も近い整数に切り捨てます。ただし、型は維持されるため、引数の 1 つが float の場合、結果は float になります。
それはあなたの定義が何であるかに依存します
a[0] is b[0]
is
オブジェクトが同じである場合は True を返します。つまり、id (ポインタと考えてください) が同じです。オブジェクトが異なる場合は False を返します。ID が異なる場合、値は同じである場合と異なる場合があります。値が同じかどうかをテストしたい場合 (これはより一般的です)、== を使用します。
頑張ってください、これがお役に立てば幸いです。