次のような配列があるとします。
[["bham", "php"],
["auburn", "php"],
["bham", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["mobile", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"],
["tucson", "php"],
["tucson", "php"],
["phoenix", "php"],
["phoenix", "php"],
["phoenix", "php"]]
私はいくつかのことをしたいと思います:
- 2 番目の要素として持つ配列の数を数えます。つまり
php
、`["bham", "php"] は 1 と数えます。 - リスト全体で最初の各要素が出現する回数を数えます。つまり
bham
、配列全体に何回出現するか、何回auburn
出現するかなどです。したがって、基本的に、この2D配列を循環させ、各子の最初の要素について、すでにあるかどうかを確認したいと思いますこの文字列を記録しました - 記録されている場合は記録された値をインクリメントし、記録されていない場合はこの新しい文字列の新しいエントリを作成します。
この特定の配列は比較的単純で、視覚的に比較的簡単に実行できますが、数百/数千の要素を持つ配列があると仮定します。
また、各子配列の両方の要素が常に 1 つの単語であると想定しても安全です。そのため、比較的簡単に追跡できます。
どうすればこれにアプローチできますか?