次のような順序付けられた辞書があります。
source =([('a',[1,2,3,4,5,6,7,11,13,17]),('b',[1,2,3,12])])
最初に各キーの値の長さを計算し、次にその長さを計算したいと思います。sqrt
たとえば、それはLです。
余りなく割り切れる位置にLを入れ、他の数の後に「1」を入れます。
たとえば、source['a'] = [1,2,3,4,5,6,7,11,13,17]
その長さは 9 です。したがって、平方根len(source['a'])
は 3 です。
数字の位置が正確に 3 で割り切れない場合は、3 で割り切れる位置 (例: 3 位、6 位、9 位) に 3 を挿入し、その後に 1 を挿入します。
次のような結果を得るには:
result=([('a',["1,1","2,1","3,3","4,1","5,1","6,3","7,1","11,1","13,3","10,1"]),('b',["1,1","2,2","3,1","12,2"])]
リスト内の項目を文字列ペアに変更する方法がわかりません。ところで、これは宿題ではありません。ブーリアン検索エンジンを構築しようとしていたのですが、ソース データが大きすぎるため、達成したいことを説明するためにここで簡単なサンプルを作成しました :)