1

いくつかの乱数のリストを作成し、それらの出現回数を数え、結果を次のような辞書に入れるための実用的なソリューションがあります。

random_ints = [random.randint(0,4) for _ in range(6)]
dic = {x:random_ints.count(x) for x in set(random_ints)])

たとえば [0,2,1,2,1,4] とすると、{0: 1, 1: 2, 2: 2, 4:1} となります

できればライブラリ関数を使用せずに、これをワンライナーで表現できるかどうか疑問に思っていました-Pythonで何ができるかを見たいです:) 2行を1行に統合しようとすると、2行を表現する方法がわかりませんrandom_ints の同じ理解リストへの参照..??? 私は次のようなものを期待していました:

dic = {x:random_ints.count(x) for x in set([random.randint(0,4) for _ in range(6)] as random_ints))

もちろん、これは機能しません...

SO で (ネストされた) リスト内包表記を調べましたが、見つけた解決策を自分の問題に適用できませんでした。

ありがとう、s。

4

3 に答える 3