Python--문자열에서 각 문자의 발생 횟수를 세고 발생 횟수의 내림차순으로 출력

아이디어:

1. 목록 또는 문자열을 반복합니다. 그렇지 않은 경우 (키, 값)을 만들고, 문자가 사전에 있으면 값에 1을 추가합니다.

2. 정렬 기능을 사용하여 정렬

    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(iterable, cmp=None, key=None, reverse=False)

  • iterable -- 반복 가능한 객체.
  • cmp -- 비교 함수, 이것은 두 개의 매개변수를 가지며 매개변수의 값은 모두 iterable 객체에서 가져옵니다. 이 함수가 따라야 하는 규칙은 다음과 같습니다. 크면 1을 반환하고, 크면 -1을 반환합니다. 보다 작고 같으면 0을 반환합니다.
  • 키 -- 주로 요소를 비교하는 데 사용됩니다. 단 하나의 매개변수, 반복 가능한 객체에서 특정 함수의 매개변수를 가져오고 정렬할 반복 가능한 객체의 요소를 지정합니다.
  • reverse -- 정렬 규칙, reverse = 내림차순의 경우 True, reverse = 오름차순의 경우 False(기본값).

2. operator.itemgetter 함수 이
함수의 기능은 객체의 특정/어떤 차원의 데이터를 얻는 것입니다.기본적으로 객체의 차원은 1차원으로 간주됩니다.
이 함수의 사용법은 다음과 같습니다.

  • itemgetter 함수를 정의하고 객체에서 가져올 차원 값을 지정합니다.
  • 정의된 함수를 사용하여 개체에 대해 작업

추천

출처blog.csdn.net/yuan_ahui/article/details/126145437