アイデア:
1.リストまたは文字列をループし、そうでない場合は(キー、値)を作成し、文字が辞書にある場合は値に1を追加します
2. sorted 関数を使用して並べ替えます
import operator
str = "abcabcabdddddb"
dict = {}
# 循环遍历列表或字符串,如果不在则创建(key,value),如果字符在字典中则值加1
for i in str:
if i not in dict:
dict[i] = 1
else:
dict[i] += 1
print(dict)
d = sorted(dict.items(), key=operator.itemgetter(1), reverse=False)
print("根value值升序排序:", d)
結果:
拡大:
1. sorted 関数の使用法:
基本的な構文形式: sorted(iterable, cmp=None, key=None, reverse=False)
- iterable -- 反復可能なオブジェクト。
- cmp -- 比較関数, これには 2 つのパラメーターがあり, パラメーターの値はすべて iterable オブジェクトから取得されます. この関数が従わなければならない規則は, より大きい場合は 1 を返し, 大きい場合は -1 を返します.より小さく、等しい場合は 0 を返します。
- キー -- 主に要素を比較するために使用されます。パラメータは 1 つだけです。特定の関数のパラメータは反復可能なオブジェクトから取得され、反復可能なオブジェクト内の要素を指定して並べ替えます。
- reverse -- 並べ替えルール。reverse = 降順の場合は True、逆順 = 昇順の場合は False (デフォルト)。
2. operator.itemgetter 関数
この関数の機能は、オブジェクトの特定の次元のデータを取得することです. デフォルトでは、オブジェクトの次元は 1 次元と見なされます. この関数の使用法
:
- itemgetter 関数を定義し、オブジェクト内のどのディメンション値を取得するかを指定します
- 定義された機能を持つオブジェクトに作用する