Pythonに限らず、C++/Rust/Go/Javaなどの他の言語でもプログラムを書く際には必ず使います。具体的な頻度については書く内容にもよるので一概にも言えませんが、関数単位でみると90%以上の確率で使っています。
用途は以下の回答に書いてある通りです。
JavaやGoは標準ではタプルが無いので以下の回答のようにGenericsを使用して自分で定義しておきます。
そしてこの回答にも書いてある通り、タプルは結局は構造体を即席で作るためのシンタックスシュガーであり、多用すると変数の意味が分かりにくくなるのである程度要素が増えたり入れ子になってくる場合には専用の構造体/クラスを作り、要素をインデックス番号でなく名前でアクセスできるようにするべきです。私はたいていは2階層になるか、あるいは要素が4つを超えてくる場合は専用構造体を作ります。
PythonのWeb上の記事などによくタプルとリストの比較としてimmutableかどうかがよく書かれていますが、はっきり言ってこれはミスリードであり、他の言語を書いてみるとそもそもタプルとリストの比較なんて出てこないことがすぐにわかります。リストは同じ型の複数のオブジェクトを入れておくコンテナ/データ構造であり、タプルは異なってもいい複数のオブジェクトをまとめておく即席構造体
… (もっと読む)chatgptに聞くとほとんど解決しちゃう世の中になってきましたね
私は昔は業務でpythonを利用していたときは、辞書のキーとして使うとき以外はすべてリストで扱っていました。
現在は主にkotlin利用していますが、基本的に変数はval(再代入不可変数)リストやハッシュなどはimmutableにしています。後で変更が必要になる場合は、オブジェクトをコピーして再代入することが多いです。
pythonではリストとタプル以外に変更不可にする方法がないので、それほど気にしなくてもいいかもしれません。
デフォルトが変更不可な言語は後で読むのがとても楽です。
0 コメント:
コメントを投稿