본문 바로가기

코딩코딩/파이썬18

중첩된 반복문에 대한 List comprehension/리스트 컴프리헨션 저번에는 간단하게 알아보았는데요, 이번엔 조금 복잡한 중첩 for문을 어떻게 표현할지에 대해 공부해보겠습니다. [1,2,3]과 [1,2,3,4,5,6,7,8,9,10]의 원소끼리 곱해서 multiplications에 넣는다고 생각해봅시다. multiplications = [] for i in range(1,4): for n in range(1,11): multiplications.append(i*n) 이번엔 리스트 컴프리헨션으로 살펴봅시다. multiplications = [i*n for i in range(1,4) for n in range(1,10)] 두개까지 되는 건 알겠는데.... 몇 개까지 가능할까요? 제한이 없습니다. (제 머리만 제한됨) [ for in (optional if _a) for .. 2020. 3. 30.
리스트 컴프리헨션/List comprehensions(리스트 축약) 1~20사이의 짝수만 들어있는 evens 리스트를 만드시오. 방법 1 먼저 evens라는 리스트를 정의하고 for 문에 %2를 한 값이 0이라면 2의 배수이므로 evens에 append를 하면 됩니다. evens = [] for n in range(1,21): if n%2 == 0: evens.append(n) 방법 2 하지만 이런 방법도 있습니다. evens = [n for n in range(1,21) if n%2 == 0] 4줄 --> 1줄로 바뀌었네요. 리스트를 이렇게 간단히 표현해줄 수 있는 걸 리스트 컴프리헨션이라고 합니다. comprehension의 뜻은 이해(력)이라는 뜻인데 리스트의 이해라기 보다는, 축약이라는 표현이 더 자연스러워 보입니다. 알기 쉽게 표현해보자면 [ for in if .. 2020. 3. 30.