可能性の重複:
Why are python strings and tuples are made immutable?なぜタプルはPythonでは変更できませんか?
下位レベルの設計は、Pythonで変更できませんタプルなりますか?なぜこの機能が役立つのですか?
可能性の重複:
Why are python strings and tuples are made immutable?なぜタプルはPythonでは変更できませんか?
下位レベルの設計は、Pythonで変更できませんタプルなりますか?なぜこの機能が役立つのですか?
いくつかの理由:彼らはhashableではありませんので、リストのような
__hash__
が与えられた場合、内容が変更されると返される値は変更され、ハッシュ値の契約に違反します。tuple
メソッドで渡すことができます。このメソッドは、必要なときにのみコピーします。それ以外の場合は、不変のシーケンスタイプはありません。変更可能なタプルが必要な場合は、リストを使用するだけです。
さまざまなパフォーマンス特有のものがある場合は不変型を使用し、タプルキーの場合はdict
を簡単に使用できません。
ハッシュ値は変更できますか?ハァッ? – wim
リストが変更されると、wim - > hash vaulesが変化します。リストのどこかにrefがある場合、リストは変更できます。 –
リストはハッシュできません。 – wim