3

たとえば iftableStateはタプルで、変数を宣言しています:

x = tableState[1][:]

どういう[:]意味ですか?

4

3 に答える 3

5

タプル自体への参照ではなく、タプルのコピーを取ります。

構文は、デフォルトの[:]開始値と終了値 (0 とリストの長さ) を持つスライスであり、それらのインデックスを持つ新しいタプルを返すため、実質的にコンテンツの正確なコピーになります。

タプルの場合、タプルは不変であるため、これはあまり意味がありません。インデックスの参照先を変更せずに、タプルへの参照を安全に渡すことができます。

ただし、リストでも同じように機能します。コンテンツを変更できるようにするために、リストのコピーを作成する必要があることがよくあります。デフォルトの「すべての要素」スライスを使用すると、それを行うための適切で簡潔で高速な方法になります。

于 2013-02-14T16:52:09.720 に答える
0

一般に、タプルのコピーを抽出しています。ただし、タプルは不変であるため、タプルのコピーを取得してもあまり効果がないことに注意してください。リストを使用するとはるかに便利です。

于 2013-02-14T16:54:50.950 に答える