Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 단어 목록에서 가장 긴 단어의 길이 구하기

파이썬에서 단어 목록(리스트) 중 가장 긴 단어의 길이를 반환해야 하는 경우가 자주 있습니다. 이때 리스트를 매개변수로 받는 함수를 정의하고, 각 요소의 길이를 비교하여 최대 길이를 찾아 결과로 출력하면 됩니다.

예제 코드

다음은 이를 구현한 예제입니다.

def find_longest_length(my_list):
   max_length = len(my_list[0])
   temp = my_list[0]

   for element in my_list:
      if(len(element) > max_length):

         max_length = len(element)
         temp = element
   return max_length

my_list = ["ab", "abc", "abcd", "abcde"]
print("The list is :")
print(my_list)
print("The result is :")
print(find_longest_length(my_list))

실행 결과

The list is :
['ab', 'abc', 'abcd', 'abcde']
The result is :
5

코드 설명

  • ‘find_longest_length’라는 이름의 함수를 정의하고, 리스트를 매개변수로 전달받습니다.

  • 리스트 첫 번째 요소의 길이를 최대 길이 변수(max_length)에 초기값으로 할당합니다.

  • 리스트를 반복(iteration)하면서 각 요소의 길이가 현재 최대 길이보다 큰지 확인합니다.

  • 더 긴 요소가 발견되면 해당 요소의 길이와 값으로 최대 길이를 갱신합니다.

  • 반복이 끝나면 최종적으로 계산된 최대 길이를 반환합니다.

  • 함수 외부에서 예제 리스트를 정의하고, 콘솔에 출력합니다.

  • 필요한 매개변수를 넘겨 함수를 호출합니다.

  • 결과값이 콘솔에 출력됩니다.

위 예제에서 리스트의 각 단어는 2글자부터 5글자까지 점점 길어지므로, 가장 긴 단어인 'abcde'의 길이인 5가 결과로 출력됩니다. 이 방식은 시간 복잡도 O(n)으로 리스트를 한 번만 순회하기 때문에 효율적이며, max() 함수와 key=len 옵션을 활용하면 len(max(my_list, key=len))처럼 한 줄로도 동일한 결과를 얻을 수 있습니다.