質問
Pythonの初心者、中級者向けの書籍を何冊か並行して読んでいるのですが、短いテストコードでのリストの変数名として、"arr", "lst"の2つがよく使われています。
どちらも和訳すれば「配列」の意味になるかと思いますが、自分で使うならどちらがよいのでしょうか?
もし好みの問題なのであれば、皆さんならばどちらを変数名として選びますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
2
型の呼称に対応させるのが誤解が少ないように思います。
- 組み込みリスト ⇒ lst
- numpy.ndarray ⇒ arr
- arrayオブジェクト ⇒ arr
しかしこれはメタ構文変数としての命名に留まるべきで、
コードを組む際に気にすることはあまり無い筈です。システムハンガリアンでも採用しない限り。
arrayとlistは同じ?
どちらも和訳すれば「配列」の意味
arrayとlistはある程度使い分けられています。
配列と訳されるのは前者で、後者はそのままリストと呼ばれることが多いです。
次のQAのraccyさんの回答が非常に勉強になります。
###array
元々はarray data structure(配列データ構造)の意味で使われていました。つまり、arrayと言った場合はデータ構造そのものを示すと場合があることです。ただ、ここから転じてそのデータ構造で実装されているオブジェクトに対する型やクラスもarrayと呼ぶようになっています。
[中略]
###list
listはarrayと違ってデータ構造ではなく、順序づけられた集合というものそのものになります。そのため、言語によっては実装によって複数用意されている場合があります。例えばJavaでは、ArrayList、LinkedList、CopyOnWriteArrayList等です。そして、arrayはlistの一種であるとも言えます。
引用元: teratail - なぜPythonでは配列をリストと呼ぶのでしょう?
しかし、厳密に差を意識しない場面も多いです。
**『Pythonの[...]は配列じゃない!リストだ!』**と強硬に主張している人を見たら、
**『CPythonでは可変長配列として実装されているよ』**とばっさりと切り落としてやって下さい。
参考:
投稿2019/06/04 07:37
編集2019/06/04 07:54総合スコア35676
1
ベストアンサー
その変数が何であるかで名前をつけます。
students
とか
accounts
とか
files_sorted_by_name_in_ascending
とか
数学など、純粋にリスト/配列でいい場合には
型が何なのかで決めます。(np.arrayのくせにlstと言う名前だと混乱するので。)
さらにリストと配列の区別すら要らなければxs
とかys
レベルまで抽象化することもあります。
参考書のコードが"広い"名前なのは、リストなら何でもいいという意図を込めてます。
実際のコードで「リストだよ!」とだけ言われても嬉しくないので
それは何なのかに基づいた名前をつけます。
名前付けとかその他諸々に関しては
リーダブルコードというど定番の書籍があるので読みましょう。
投稿2019/06/04 07:38
編集2019/06/04 08:08総合スコア13553
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

1
生成だけならListやTupleが速いです。
Numpyのarrayは生成は遅いけど、アクセスが圧倒的に速いです。
なんどもアクセスする場合はNumpyがいいです。
Listの要素にはなんどもアクセスするようなコードを書かないです。
投稿2019/06/04 07:11
総合スコア479
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/04 07:19

退会済みユーザー
2019/06/04 07:20

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/06/04 07:58