Pythonがリストに複数の型を含めることができる理由はありますか?私がオブジェクトの混合コレクションを持っていたなら、私は安全なデータ型がタプルであると思います。また、リストメソッド(ソートなど)を混合リストで呼び出すことができるので、これを許可するのが正当な理由があるはずです。一見すると、これは型安全な関数を書くのをはるかに困難にするでしょう。なぜPythonは混合型リストを許可していますか?
0
A
答えて
1
タプルとリストの違いは、リストは変更可能であり、タプルは異なります。したがって、データ型の安全性に関するものではなく、要素を変更できるようにするかどうかについてです。
+0
タプルは「浅く」不変であり、変更可能な型を含むことができます。したがって、 't =(1、 'x'、[]); t [2] .append( 'y') 'はタプルの値を変更します。 – dan04
関連する問題
- 1. setで可変オブジェクトが許可されていない場合、なぜリストを許可するのですか?
- 2. Pythonのリストで安全な混合型ですか?
- 3. なぜC#は型パラメータをデフォルトパラメータとして許可しないのですか?
- 4. Javaはnull許容型を許可していますか?
- 5. なぜリスト<T> .ForEachはリストの変更を許可していますか?
- 6. intはなぜ[+] C++で許可されていますか?
- 7. C++の混合型可変長引数リスト(varargin、* args、...)
- 8. Javaジェネリックスがジェネリック型の型変換を許可しないのはなぜですか?
- 9. なぜdocument.createTextNode()はsetAttribute()を許可しないのですか?
- 10. Pythonで混合リストを印刷する
- 11. DDDはリストを集約ルートとして許可しますか?
- 12. R:sprintf混合型変数のリスト
- 13. 許可がない場合、Semaphor.drainPermitsは何を行いますか?
- 14. なぜガウス混合モデルが使用されていますか?
- 15. なぜ私のHashMapは重複キーを許可していますか?
- 16. なぜGolangは未使用機能のコンパイルを許可していますか?
- 17. RootFolderがMyComputerの場合、FolderBrowserDialogがデスクトップをSelectedPathとして許可しないのはなぜですか?
- 18. Python Enumで可変値が許可されるのはなぜですか?
- 19. スウィフト - 許可されていない場合はコアのロケーション要求許可
- 20. シェルスクリプト:可能な位置パラメータでgetoptsを混合していますか?
- 21. なぜHaskellはクラスインスタンスを宣言するときに型シノニムを許可しないのですか?
- 22. はなぜのImmutableSetは、重複を許可しないが、
- 23. SSIS - 許可しない場合
- 24. なぜRustはローカル定数の型推論を許可しないのですか?
- 25. なぜ等価チェックは、オブジェクト型の暗黙的な変換を許可しませんが、intのですか?
- 26. Djangoはブロック内のブロックを許可しないのはなぜですか?
- 27. 推力:不完全な型が許可されていない
- 28. MySQL ::エッジケース::混合型外部キー::可能か夢見るのか?
- 29. 混在コンテンツコーディングを許可するエラー
- 30. 混合型ハープ・クラスタ
Pythonには型の安全性が全くないためです。 – SLaks
コード・タイプを安全にするように他の人に勧めている限り、タイプ・セーフであることはすべてではなく、タイプを安全にするためのPythonの優先事項ではありません。 – Dair
その場合、なぜタプルとリストを区別するのですか? – toweleeele