-2

私はここが初めてで、Pythonの初心者です。Python で複数の変数の組み合わせの頻度を計算する方法について質問したいと思います。

たとえば、次のようなリストのリストがあります。

[[A,A,A],[A,B,C],[A,A,A],[A,B,B],[A,B,C]]

そして、そのリスト内のすべての組み合わせの頻度をpythonにカウントさせたいとします。結果は次のようになります。

[[A,A,A,2],[A,B,C,2],[A,B,B,1]]

Pythonでそれを行う方法はありますか、またはそれに似たものをサポートするpythonモジュールはありますか? ここでやりたいことに似ていると思う関数を Arcpy モジュールで見つけましたが、ArcGIS ライセンスまたはソフトウェアを所有していないため、その関数を使用するためのアクセス権を取得できません。

4

1 に答える 1

3

追加のライブラリを使用しない場合:

listOfItems = [['A','A','A'],['A','B','C'],['A','A','A'],['A','B','B'],['A','B','C']]
setOfItems = []
newListOfItems = []
for item in listOfItems:
    if item in setOfItems:
        continue
    setOfItems.append(item)
    temp = list(item)
    occurence = listOfItems.count(item)
    temp.append(occurence)
    newListOfItems.append(temp)

print newListOfItems

結果は次のとおりです。

   >>> print newListOfItems
   [['A', 'A', 'A', 2], ['A', 'B', 'C', 2], ['A', 'B', 'B', 1]]
于 2014-02-04T03:54:48.717 に答える