私は Python を初めて使用し、「必要に応じて Python 配列のサイズが自動的に拡張される」と誰かから言われました。
本当ですか?Python 3.3.2 のドキュメントでは見つかりませんでした。質問に答える本物のリソースまたはガイダンス。ありがとう。
私は Python を初めて使用し、「必要に応じて Python 配列のサイズが自動的に拡張される」と誰かから言われました。
本当ですか?Python 3.3.2 のドキュメントでは見つかりませんでした。質問に答える本物のリソースまたはガイダンス。ありがとう。
「自動的に」の意味によって異なります。
>>> foo = list()
>>> foo.append(1)
>>> foo
[1]
>>> foo[1] = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list assignment index out of range
>>> foo[1:] = [0]
>>> foo
[1, 0]
そのappend
ため、新しい要素を収容するためにリストの長さを増やします。インデックスの割り当ては配列を拡張しません。スライスの割り当ては配列を拡張します。
そのステートメントは、メモリ内のスペース割り当てを参照しています。そして、はい、それは本当です!. Python ではサイズに制限がないため、リスト (配列ではなく、これは Python です) を作成し、好きなように展開、拡張、変更できます。
>>> l = [1, 2]
>>> l.extend([3, 4, 5, 6])
>>> l
[1, 2, 3, 4, 5, 6]
ここでは、l
最初は 2 つのアイテムがあり、その後拡張され、現在は 6 つのアイテムがあることがわかります。
次に、短くすることもできます。
>>> l.pop()
6
>>> l
[1, 2, 3, 4, 5]
これにより、リストの最後の項目が削除されます。
リストを変更するにはさまざまな方法があります。詳細については、こちらを参照してください。お役に立てれば!