例の一つがA`と ``の違いは何ですか[:] `
a[:] = []
で終わりに向かって、Pythonの3.2チュートリアルhereを読むには
a = []
この相当ですが
?そうであれば、なぜa
の代わりにa[:]
と書いたのですか?そうでない場合、違いは何ですか?あなたが期待するとして、説明されて
例の一つがA`と ``の違いは何ですか[:] `
a[:] = []
で終わりに向かって、Pythonの3.2チュートリアルhereを読むには
a = []
この相当ですが
?そうであれば、なぜa
の代わりにa[:]
と書いたのですか?そうでない場合、違いは何ですか?あなたが期待するとして、説明されて
リストのシャローコピーを返します彼らは等価ではないことを意味し。これらの2つの例は、あなたにその違いを理解させるはずです。
例1:
>>> b = [1,2,3]
>>> a = b
>>> a[:] = []
>>> print b
[]
例2:
>>> b = [1,2,3]
>>> a = b
>>> a = []
>>> print b
[1,2,3]
は、右の彼らはそれを使用していた:
これは、次のスライスが
第二行はリストを修正しない、それは単に新しい、空のリストを指すようにa
を手配。最初の行は、で指されているリストを変更します。 Pythonインタプリタでは、このサンプルseesionを考えてみましょう:
>>> b=[1,2,3]
>>> a=b
>>> a[:]=[]
>>> a
[]
>>> b
[]
両方a
と同じリストにb
ポイントなので、我々はa[:]=[]
が今同じ空リストの両方a
とb
ポイントをリストを空にしていることがわかります。