質問: AKAprioriというアルゴリズム(バスケット分析)のサンプルを試していました。 (以下リンク先と全く同じ事をしていました) https://github.com/aknd/akapriori そのうち、 (frozenset(['kiwi fruit']), frozenset(['pear']), 0.06666666666666667, 1.0, 5.0) と得られる結果の要素を抽出しようしました。 for r in rules_sorted: print(r) print(r[0]) print(r[3]) とすると、 (frozenset(['kiwi fruit']), frozenset(['pear']), 0.06666666666666667, 1.0, 5.0) (frozenset(['kiwi fruit']) 1.0 となりますが、(frozenset(['kiwi fruit'])の部分を「kiwi fruit」だけ抽出する方法はありますでしょうか。 よろしくお願いします。
回答: これはfrozensetという組み込み型なので、中身を変更できないことを除けばset型と同様に簡単に扱えます。 ・・・setで要素を1つだけ取り出すって、面倒くさいというか綺麗に書く方法があまりないかも。 とりあえず安直な方法を示します。 ``` >>> a = frozenset({'kiwi fruit'}) >>> a frozenset({'kiwi fruit'}) >>> list(a)[0] # リストに変換して0番目の要素を取る 'kiwi fruit' ``` 4. 組み込み型 — Python 3.6.5 ドキュメント