2016-10-27 2 views
0

Pythonがリストに複数の型を含めることができる理由はありますか?私がオブジェクトの混合コレクションを持っていたなら、私は安全なデータ型がタプルであると思います。また、リストメソッド(ソートなど)を混合リストで呼び出すことができるので、これを許可するのが正当な理由があるはずです。一見すると、これは型安全な関数を書くのをはるかに困難にするでしょう。なぜPythonは混合型リストを許可していますか?

+3

Pythonには型の安全性が全くないためです。 – SLaks

+1

コード・タイプを安全にするように他の人に勧めている限り、タイプ・セーフであることはすべてではなく、タイプを安全にするためのPythonの優先事項ではありません。 – Dair

+0

その場合、なぜタプルとリストを区別するのですか? – toweleeele

答えて

1

タプルとリストの違いは、リストは変更可能であり、タプルは異なります。したがって、データ型の安全性に関するものではなく、要素を変更できるようにするかどうかについてです。

+0

タプルは「浅く」不変であり、変更可能な型を含むことができます。したがって、 't =(1、 'x'、[]); t [2] .append( 'y') 'はタプルの値を変更します。 – dan04

関連する問題