리스트의 모든 요소에 주어진 숫자를 더해야 하는 경우, 리스트 컴프리헨션(list comprehension)을 사용하면 가장 간결하고 효율적으로 처리할 수 있습니다.
예제
아래는 실제 동작 과정을 보여주는 예제입니다.
my_list = [25,36, 75, 36, 17, 7, 8, 0]
print ("The list is :")
print(my_list)
my_key = 6
my_result = [x + my_key for x in my_list]
print ("The resultant list is :")
print(my_result)실행 결과
The list is : [25, 36, 75, 36, 17, 7, 8, 0] The resultant list is : [31, 42, 81, 42, 23, 13, 14, 6]
코드 설명
먼저 리스트를 정의하고 콘솔에 출력합니다.
각 요소에 더해줄 정수 값(키)을 정의합니다.
리스트 컴프리헨션을 사용하여 리스트의 모든 요소에 정수 값을 더한 결과를 새로운 리스트에 저장합니다.
생성된 결과 리스트는 변수에 할당됩니다.
마지막으로 결과 리스트를 콘솔에 출력합니다.
대안 방법: map() 함수 활용하기
리스트 컴프리헨션 외에도 map() 함수와 lambda를 조합하면 동일한 작업을 수행할 수 있습니다.
my_result = list(map(lambda x: x + my_key, my_list)) print(my_result) # [31, 42, 81, 42, 23, 13, 14, 6]
두 방법 모두 원본 리스트를 변경하지 않고 새로운 리스트를 반환한다는 점이 특징입니다. 일반적으로 가독성이 좋은 리스트 컴프리헨션이 파이썬답다(Pythonic)고 평가받으며, 대부분의 상황에서 권장되는 방식입니다.