はじめに
「Pythonの連想配列って何だっけ?」
という(なんとなく、気持ちの悪い)ワードが、頭をよぎったときに、
ググって解決しづらかったこと Advent Calendar 2021
を思い出したため、 勢いでエントリー しました。
当初は、各言語での連想配列系の呼び方の違いを記事にしようかと考えましたが、
既に、そのような、まとめの良記事は存在しています。
では、ネタ記事として、
本当にあった怖い検索結果 ~pythonの連想配列~
とかを書こうとも思いましたが、明らかな怪文書が検索結果に表示されるわけではない1ため、
釣り記事になってしまう 🪓怖い と、断念。
ただ、連想配列系の呼び方の違いは、いつの時代も気になりますよね?
Matzの感覚とまではいかないものの、
設計時などで、連想配列系のデータ構造を表現する時に、
相手の扱っているプログラム言語を意識して、単語を変える位には意識してしまいます。
@Yametaro さんが、 ググり というお題を出してくれたので、
言語毎の連想配列系の検索結果を調べてみよう!
という ググって解決しづらかったこと Advent Calendar 2021 21日目の記事です。
軽い読み物としてどうぞ。
google 検索結果件数まとめ
まずは、google検索結果の件数を見てみる。多すぎるので、単位は、M(1,000,000)。
連想配列________
dict________
Hash________
Map________
HashMap________
ハッシュテーブル________
python
0.124M(0.005%)
✅18.8M(0.9%)
42.1M(2.0%)
2,050M(96.7%)
8.72M(0.4%)
0.173M(0.008%)
javascript
0.172M(0.004%)
16.4M(0.4%)
85.2M(2.2%)
3,710M(94.4%)
6.96M(0.18%)
112M(2.8%)
ruby
0.069M(0.007%)
12.9M(1.2%)
✅11.3M(1.1%)
989M(94.7%)
8.02M(0.77%)
23M(2.2%)
java
0.116M(0.006%)
38.6M(2.0%)
30.7M(1.6%)
1,800M(94.9%)
✅12M(0.63%)
16M(0.84%)
Rust
0.051M(0.04%)
10.5M(7.3%)
8.61M(6.0%)
121M(83.9%)
✅3.35M(2.32%)
0.77M(0.53%)
golang
0.08M(0.26%)
6.15M(20.0%)
6.61M(21.5%)
✅12.1M(39.4%)
5M(16.3%)
0.791M(2.6%)
※ 2021年12月時点調べ
※ ✅ が連想配列系として、国内で使われていると筆者が認識している組み合わせ
※ ( ) 内は、言語の合計内の割合
突っ込みどころ満載の、無価値な表ができあがりました。
Hash や Map など、連想配列以外の用途の検索が引っかかってしまう。
そもそもgoogle検索結果件数のブレが大きい。
英語の検索結果の影響が大きい。
etc...
ただ、少なくとも、google検索結果の件数においては、
プログラミング言語と連想配列系の単語の組み合わせが、
正しい方が、多く表示されると言う事はなさそうです。
google 上位検索結果
では、件数ではなく、上位の検索結果ではどうでしょうか。
なんとなく、筆者が気持ち悪いと感じる「pythonの連想配列」や
「javascriptのdict」の検索結果を確認するため、
Python と javascript で 連想配列 と dict の検索結果の上位をまとめてみました。
Python
順位____
連想配列________
dict________
1位
Pythonの連想配列に要素を追加する方法を現役エンジニアが ...https://techacademy.jp/magazine/43247
Pythonで辞書を作成するdict()と波括弧、辞書内包表記https://note.nkmk.me/python-dict-create/
2位
Python 辞書(連想配列) - ajisaba.nethttp://www.ajisaba.net/python/dict.html
組み込み型 — Python 3.10.0b2 ドキュメント - Python Docshttps://docs.python.org/ja/3/library/stdtypes.html?highlight=dict
3位
配列・連想配列 | Python-izmhttps://www.python-izm.com/basic/array/
【Python入門】dictionary(辞書)の使い方。基本と応用https://www.sejuku.net/blog/24122
4位
【python入門者必見!】配列・連想配列を徹底解説 - DMM ...https://web-camp.io/magazine/archives/14815
Python | 辞書に含まれるすべてのキーと値を取得する - Let's ...https://www.javadrive.jp/python/dictionary/index8.html
5位
Pythonで辞書を作成するdict()と波括弧、辞書内包表記https://note.nkmk.me/python-dict-create/
3-1. 辞書 (dictionary) - Pythonプログラミング入門https://utokyo-ipp.github.io/3/3-1.html
6位
Python | 辞書に含まれるすべてのキーと値を取得する - Let's ...https://www.javadrive.jp/python/dictionary/index8.html
Pythonの辞書をマスターしよう!基本的な使い方から応用まで ...https://www.tech-teacher.jp/blog/python-dictionary/
7位
Python3系の基礎文法(辞書) - Qiitahttps://qiita.com/Amtkxa/items/ae2196a007c58182f2d1
[Python入門]辞書:Python入門(1/4 ページ) - @IThttps://atmarkit.itmedia.co.jp/ait/articles/1906/19/news017.html
8位
組み込み型 — Python 3.10.0b2 ドキュメント - Python Docshttps://docs.python.org/ja/3/library/stdtypes.html?highlight=dict
Pythonにおけるdict()の利用方法を現役エンジニアが解説 ...https://techacademy.jp/magazine/24701
9位
【Python】辞書型(連想配列)の使い方 | 西住工房https://algorithm.joho.info/programming/python/dict-tsukaikata/
Python 辞書で最初のキーを取得する - Delft Stackhttps://www.delftstack.com/ja/howto/python/get-first-key-in-dictionary-python/
10位
[Python] dict(連想配列)の使い方http://24w.jp/lang/python/dict/
【Python】 辞書(dict)の使い方の基本 | Hbk projecthttps://hibiki-press.tech/python/dict/1136
javascript
順位____
連想配列________
dict________
1位
JavaScriptの基本である連想配列をマスターする - Tech Playhttps://techplay.jp/column/528
【JavaScript入門】連想配列(Dictionary)の取得/追加/ソート ...https://www.sejuku.net/blog/27965
2位
JavaScriptの連想配列 - 追加削除やソート存在チェックも解説https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2639
JavaScriptの基本である連想配列をマスターする - Tech Playhttps://techplay.jp/column/528
3位
javascriptの連想配列と配列の違い - Qiitahttps://qiita.com/katsukii/items/168bee174073ae7ec7e4
javascriptの連想配列と配列の違い - Qiitahttps://qiita.com/katsukii/items/168bee174073ae7ec7e4
4位
JavaScriptでの連想配列の使い方!多次元配列と連想配列の違いhttps://www.fenet.jp/dotnet/column/language/4519/
JavaScriptの連想配列 - 追加削除やソート存在チェックも解説https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2639
5位
【JavaScript入門】連想配列(Dictionary)の取得/追加/ソート ...https://www.sejuku.net/blog/27965
Object.keys() - JavaScript - MDN Web Docshttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
6位
Object.keys() - JavaScript - MDN Web Docshttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
Object.values() - JavaScript - MDN Web Docshttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values
7位
JavaScriptの連想配列とは?オブジェクトとの違いや値の取得 ...https://www.brain-gate.net/content/column/system-program-associative-array/
JavaScriptで連想配列のキーの存在チェックの方法を現役 ...https://techacademy.jp/magazine/22423
8位
【初心者向け】JavaScriptの配列と連想配列の違いとは?https://blog.codecamp.jp/javascript-array
JavaScript オブジェクト(連想配列)の使い方 | ITSakurahttps://itsakura.com/js-object-literal
9位
javascript mapを使って連想配列から必要なキーのみを取得するhttps://mebee.info/2020/09/30/post-19601/
JavaScriptの連想配列に要素を追加・削除する方法 | UX MILKhttps://uxmilk.jp/12852
10位
【JavaScript】 配列と連想配列の要素順序とMapオブジェクトhttps://note.affi-sapo-sv.com/javascript-array-order.php
JavaScriptでの連想配列の使い方!多次元配列と連想配列の違いhttps://www.fenet.jp/dotnet/column/language/4519/
こちらについても、個々の記事への言及は避けますが、、
私が予想していたよりも、検索結果に差がない ことが、分かりました。
もちろん、私の感覚がずれていた可能性も有りますが、
「python 連想配列」の検索結果の5位の Pythonで辞書を作成するdict()と波括弧、辞書内包表記 など、
検索結果内に、検索した単語が出てこない記事もちらほら、引っかかります。
google賢過ぎない!?
まとめ
google検索の前では、プログラム言語毎の呼称の差異は、私が感じているより少ないものだと分かりました。
ただ、今回の執筆を通して、google検索結果を改めて考えてみると、
同一ドメイン記事の結果が、上位に並ばないようになっていたのもあり、
(昔はQiitaの記事が、TOP10のほとんどを埋め尽くしていたことも、あった気がした)
良記事が上位に出てくるとは限らないため、特に基礎的な部分において、
初学者がgoogle頼みだと、(昔よりも特に)遠回りではないかな?
という気持ちが強くなりました。
というわけで、以下の引用を掲載して、この記事を終わりにさせていただきます。
Rubyに限らず、公式ドキュメントや公式リファレンスを参照することは遠回りなように見えて実は一番の近道だったりします。
まさに急がば回れ、っていうやつですね。
検索結果を要チェック!Rubyの公式リファレンスは docs.ruby-lang.org です 〜公式な情報源を調べるクセを付けよう〜
勢いのエントリーを完了出来て良かった。
本記事後半で、検索結果は紹介します。 ↩
↧