"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 목록을 사용하는 우아하고 간단한 방법: 목록 이해

Python 목록을 사용하는 우아하고 간단한 방법: 목록 이해

2024-11-08에 게시됨
검색:151

An elegant and simple way to use Python Lists: List Comprehensions

목록 이해가 고급 개념이라고 생각할 수도 있습니다. 그러나 까다로운 상황에서는 한 줄만으로 코드를 단순화할 수 있습니다. 이제 그것이 어떻게 작동하는지 이해할 시간입니다. 예제를 사용하여 초급 수준에서 설명하겠습니다.

목록 이해란 정확히 무엇입니까?

l2 = [x 1 for x in l]이라는 표기법을 자주 볼 수 있습니다. 다음과 같다고 합니다:

l2 = []
for x in l:
    x = x   1
l2.append(x)

두 경우 모두 l = [10, 100, 1000]으로 시작하면 l2는 다음과 같습니다.

[11, 101, 1001]

첫 번째 구문은 목록 이해라고 부르는 것입니다.
여러분은 일반적인 for 루프를 선호할 수도 있지만, 이 기사가 끝날 때쯤에는 목록 이해를 사용하는 데 자신감을 갖게 될 것이라고 약속합니다!

추가로 https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions

문서에서 자세한 공식 정의를 확인해 보겠습니다.

목록 이해는 목록을 만드는 간결한 방법을 제공합니다. 일반적인 응용 프로그램은 각 요소가 다른 시퀀스의 각 멤버에 적용된 일부 작업의 결과이거나 반복 가능한 새 목록을 만들거나 특정 조건을 충족하는 해당 요소의 하위 시퀀스를 만드는 것입니다.

더 자세히 살펴보겠습니다. 목록 이해는 새 목록을 더 짧고 쉽게 만들 수 있는 코드를 작성하는 다른 방법일 뿐입니다. 목록 이해의 결과는 목록이므로 목록에 할당합니다.
일반적인 예를 논의하는 정의의 두 번째 부분을 살펴보겠습니다. 이는 구체적인 예를 사용하여 수행되어야 합니다.
1.

fast_foods = ["Burger", "Pizza", "Tacos", "Fried Chicken", "Hot Dog"]
uppercase_fast_foods = [food.upper() for food in fast_foods]

이후, uppercase_fast_foods는 다음과 같습니다:

['BURGER', 'PIZZA', 'TACOS', 'FRIED CHICKEN', 'HOT DOG']

upper() 함수를 사용하여 목록의 각 음식 항목을 대문자로 변경합니다. 결과적으로 이제 모든 항목은 대문자로 표시됩니다. 이것이 우리가 '각 요소가 다른 시퀀스의 각 멤버에 적용된 일부 작업의 결과이거나 반복 가능한 새 목록을 만드는' 방법입니다.
2.

fast_foods = ["Burger", "Pizza", "Tacos", "Fried Chicken", "Hot Dog"]
foods_with_space = [food for food in fast_foods if " " in food]

이후에 food_with_space는 다음과 같습니다.

['Fried Chicken', 'Hot Dog']

위의 코드 줄은 목록에서 공백 문자가 포함된 항목을 검색합니다. 이것이 우리가 '각 요소가 다른 시퀀스의 각 멤버에 적용된 일부 작업의 결과이거나 반복 가능한 새 목록을 만드는' 방법입니다.

목록 이해의 예

나는 너무 많은 for 루프를 만날 때마다 '문제없어, 그냥 단순화하겠다'고 생각했기 때문에 많은 문제에서 목록 이해를 사용해 왔습니다. 결과적으로는 동일한 논리이고 더 깔끔합니다! ?
더 이상 고민하지 말고 제가 생각해낸 가장 관련성이 높은 몇 가지 예를 소개하겠습니다.
1. 목록의 각 요소 수정

foods = ["Burger", "Fries", "Fried Chicken", "Hot Dog", "Pizza"]
foods_with_version = [food   ' - 2024' for food in foods]
print(foods_with_version)

산출:

['Burger - 2024', 'Fries - 2024', 'Fried Chicken - 2024', 'Hot Dog - 2024', 'Pizza - 2024']

이 예에서는 식품 항목 목록을 가져와 각 항목에 '- 2024'를 추가합니다. 우리는 업데이트된 이름으로 새 목록을 빠르게 생성하기 위해 목록 이해를 사용합니다.
2. 조건에 따라 목록에서 하위 목록 만들기

foods = ["Burger", "Fried Chicken", "Hot Dog", "Fries", "Pizza"]
long_foods = [food for food in foods if len(food) > 7]
print(long_foods)

산출:

['Fried Chicken']`

이 예에서는 음식 항목 목록을 생성하고 7자를 초과하는 항목을 필터링합니다. 우리는 이를 달성하기 위해 조건과 함께 목록 이해를 사용합니다.
3. 목록 이해와 함께 범위 함수를 사용하여 목록을 만듭니다.

x = [i for i in range(10, 20, 2)]
print(x)

산출:

[10, 12, 14, 16, 18]

이 예에서는 range()를 사용한 목록 이해를 사용하여 10에서 18 사이의 숫자 목록을 만듭니다.
4. 문자열에 목록 이해 적용

input_string = "hello world"
marked_vowels = ['*' if char in 'aeiouAEIOU' else char for char in input_string]
print(marked_vowels)

산출:

['h', '*', 'l', 'l', '*', ' ', 'w', 'o', 'r', 'l', 'd']

이 마지막 예에서는 문자열을 가져와서 모음을 별표(*)로 표시합니다. 우리는 원래 문자열을 기반으로 새 목록을 생성하기 위해 목록 이해를 사용합니다.

결론

이 글 전체에서 나는 목록 이해에 대한 정의부터 이를 자세히 설명하는 다양한 예까지 모든 기본 통찰력을 다루었습니다. 모든 것이 명확해지길 바라며, 이제부터 여러분의 Python 코드에 목록 이해 기능을 통합하려는 의욕이 더 생기기를 바랍니다!

릴리스 선언문 이 기사는 https://dev.to/mariem_sghaier/an-elegant-and-simple-way-to-use-python-lists-list-comprehensions-584j?1에서 복제됩니다. 침해가 있는 경우에는 Study_golang에 문의하세요. @163.com 삭제
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3