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