Luaにテーブルがあります:
p = {'sachin', 'sachin', 'dravid', 'Dhoni', 'yuvraj', 'kohli'}
table 内の各名前の頻度をカウントしたい。
test1 = {sachin=2, dravid=1, Dhoni=1, yuvraj=1, kohli=1}
多くの for ループでこのプログラムを試しました。コードを参照してください。
> 関数 exec(ele,p)
カウント = 0
for k,v inpair(p) do
ele == p[k] の場合
カウント = カウント +1
終わり
終わり
リターンカウント
終わり
> new_table = {}
> 対 (p) の k,v に対して
new_table[v] = exec(v,p)
終わり
>
> ペアの k,v に対して (new_table) do
print(k,v)
終わり
やった 1
ユブラジ 1
コリ 1
サチン2
ドラビッド 1
より効率的な方法で行いたいと考えています。どうすればこれを達成できますか?