본문 바로가기
개발 이야기/파이썬

[파이썬] 리스트컴프리헨션 응용하기: 실용적인 예제들로 더 깊게 이해하기 (2/3) 응용편

by AI 동키 2023. 4. 8.
반응형

이전 글에서는 리스트 컴프리헨션의 기본 개념과 사용법을 배웠습니다. 이번에는 리스트 컴프리헨션을 활용한 실용적인 예제들을 살펴보겠습니다. 이를 통해 리스트 컴프리헨션을 더욱 효과적으로 사용할 수 있는 방법을 배워보세요!. 

[파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편

 

[파이썬] 리스트컴프리헨션?? 이거 모르면 파이썬 초보. (1/3) 기초편

안녕하세요! 오늘은 파이썬의 강력한 기능 중 하나인 리스트 컴프리헨션에 대해 알아보려고 합니다. 이 기능을 잘 사용하면 대여섯 줄 이상의 코드도 한줄로 간결하게 구현해 낼 수가 있는 강력

lapina.tistory.com

 

이를 통해 리스트 컴프리헨션을 더욱 효과적으로 사용할 수 있는 방법을 한번 알아봅시다!


문자열에서 원하는 문자만 추출하기

리스트 컴프리헨션을 사용하여 문자열에서 특정 문자를 추출하는 것이 가능합니다.

예를 들어, 주어진 문자열에서 모음만 추출하는 코드를 작성해보겠습니다.

text = "Python is fun!"
vowels = "AEIOUaeiou"
vowels_in_text = [char for char in text if char in vowels]
print(vowels_in_text)

 

 

결과는 다음과 같이 됩니다.

['o', 'i', 'u']

 

행렬 전치하기

리스트 컴프리헨션을 사용하여 2차원 행렬을 전치할 수 있습니다. 예를 들어, 다음과 같은 행렬이 주어졌을 때, 전치된 행렬을 구해보겠습니다.

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

transposed_matrix = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
print(transposed_matrix)

결과는 다음과 같이 나오게 됩니다.

[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

 

두 리스트의 곱셈 결과를 원소로 갖는 리스트 생성하기

리스트 컴프리헨션을 사용하여 두 개의 리스트의 곱셈 결과를 원소로 갖는 리스트를 생성할 수 있습니다. 예를 들어, 다음과 같은 두 개의 리스트가 주어졌을 때, 두 리스트의 원소를 곱한 결과를 원소로 갖는 리스트를 구해보겠습니다.

list1 = [1, 2, 3, 4]
list2 = [5, 6, 7, 8]

multiplied_list = [x * y for x, y in zip(list1, list2)]
print(multiplied_list)

리스트 1과 2의 곱한 결과를 표시해라.

[5, 12, 21, 32]

 

예제를 몇가지 더 살펴볼까요?

 

파일에서 특정 조건을 만족하는 라인만 추출하기

리스트 컴프리헨션을 사용하여 파일에서 특정 조건을 만족하는 라인만 추출하는 것이 가능합니다. 예를 들어, 주어진 텍스트 파일에서 길이가 10자 이상인 라인만 추출해보겠습니다.

with open("example.txt", "r") as file:
    long_lines = [line.strip() for line in file if len(line.strip()) >= 10]
print(long_lines)

이 코드는 example.txt 파일을 열고, 각 라인에서 앞뒤 공백을 제거한 후 

길이가 10자 이상인 라인만 리스트에 추가합니다.

 

딕셔너리 컴프리헨션을 활용한 사전 생성하기

리스트 컴프리헨션과 비슷한 개념으로 딕셔너리 컴프리헨션도 존재합니다. 이를 활용하여 간단하게 딕셔너리를 생성할 수 있습니다. 예를 들어, 단어와 그 단어의 길이를 키와 값으로 하는 딕셔너리를 생성해보겠습니다.

words = ["apple", "banana", "cherry", "orange"]
word_lengths = {word: len(word) for word in words}
print(word_lengths)
{'apple': 5, 'banana': 6, 'cherry': 6, 'orange': 6}

이번 글에서는 리스트 컴프리헨션을 활용한 실용적인 예제들을 살펴보았습니다. 이를 통해 리스트 컴프리헨션의 다양한 활용법을 배울 수 있었습니다.

앞으로 코드를 작성할 때, 리스트컴프리헨션을 잘 활용해서 더욱 간결하고 효율적인 코드를 작성하게 되셨길 기대해보며! 오늘의 글을 마칩니다.

다음 3편에서는 리스트 컴프리헨션 주의사항과 성능 최적화에 대해 알아보도록 하죠!

반응형

댓글