대소문자를 구분하여 문자열을 정렬해야 하는 경우 문자열을 매개변수로 사용하는 메서드를 정의합니다. 이 방법은 목록 이해와 'isupper' 및 'islower' 방법을 목록 이해와 함께 사용하여 대소문자 차이를 구합니다. 이들의 차이는 정렬된 값을 제공합니다.
예시
아래는 동일한 데모입니다.
def get_diff(my_string): lower_count = len([ele for ele in my_string if ele.islower()]) upper_count = len([ele for ele in my_string if ele.isupper()]) return abs(lower_count - upper_count) my_list = ["Abc", "Python", "best", "hello", "coders"] print("The list is :") print(my_list) my_list.sort(key=get_diff) print("Sorted Strings by case difference :") print(my_list)
출력
The list is : ['Abc', 'Python', 'best', ‘hello’, 'coders'] Sorted Strings by case difference : ['Abc', 'Python', 'best', 'coders', ‘hello’]
설명
-
문자열 목록을 매개변수로 사용하는 'get_diff'라는 메서드가 정의되어 있습니다.
-
목록 이해와 'islower' 및 'isupper' 메서드는 문자열이 대문자인지 소문자인지 확인하는 데 사용됩니다.
-
이 값은 두 개의 다른 변수에 저장됩니다.
-
이 두 변수의 절대 차이가 출력으로 반환됩니다.
-
메소드 외부에서 목록이 정의되고 콘솔에 표시됩니다.
-
목록은 이전에 정의된 방법에 따라 정렬됩니다.
-
콘솔에 표시되는 출력입니다.