inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

매직 메소드(3-3)

리스트 컴프리헨션에 관한 질문입니다

185

vpdtlrdl

작성한 질문수 45

0

강의에서 

Classes = namedtuple('Classes', ['rank''number'])

다음과 같이 네임드 튜플을 선언하고, 

numbers = [str(nfor n in range(121)]
ranks = 'A B C D'.split()

이렇게 그룹 리스트를 선언한 후 

students = [Classes(ranknumberfor rank in ranks for number in numbers]

리스트 컴프리헨션을 사용하셨는데요,  [](대괄호) 내부에서의 반복문을 사용함으로써 

Classes(A, 1)부터 시작되는 객체를 생성하는 과정이라고 이해하면 되는건가요?

그리고 리스트 컴프리헨션을 사용한 이유는  오직 반복문을 사용하기 위함인건지 궁금합니다..

+ 또 궁금한게 있습니다...

students2 = [Classes(ranknumber)
            for rank in 'A B C D'.split()
                for number in [str(n)
                    for n in range(121)]]

다음과 같이 코드를 작성하셨는데요, for문을 중첩 for 반복문과 비슷하게 작성하셨는데 리스트 컴프리헨션에서는 for이 한 줄로 작성되지 않아도 무방한 것인지 궁금합니다!! 

질문이 너무 많은 것 같네요... 강의 잘 듣고 있습니다 감사합니다 ㅎㅎ

django python

답변 1

0

좋은사람

네 생성 과정이맞습니다.

보통 중첩 for 문을 리스트 컴프리핸션으로 작성해도 결과의 차이는 없습니다.

경우에 따라 for문으로 나열해서 쓰는게 가독성은 더 좋을 것 같아여.

loop is not defined

0

55

1

가상환경 설정이 안됩니다

0

54

1

__le__, __ge__ 관련 질문

0

54

0

atom 서비스 종료

0

65

1

atom 서비스 종료

0

62

1

진도미확인 (진도가 안 넘어감)

0

90

1

RuntimeError: There is no current event loop in thread 'MainThread'

0

133

1

chapter 07-01 실행 오류

0

112

1

Chapter05-04 : sum_func의 합이 이중 출력됩니다.

0

128

2

45. 병렬성 2 - Futures(5-1) wait가 의도된 대로 동작하지 않습니다.

0

146

2

멀티스레딩 - 44. 병렬성 1 - Futures(4-2)

0

123

2

chapter05_02 클로저 질문사항 !

0

98

1

LV1 설정

0

132

2

매직 메소드의 호출 방법 차이 문의

0

184

2

왜 numbers리스트를 만들때 str으로 숫자를 감싸나요?

0

145

2

스크랩핑 실습 중 Mac OS 인증서 문제

0

169

1

AsyncIO 멀티 스크랩핑 실습 예제 관련 질문

0

213

1

강의자료가 영상과 다릅니다

0

296

2

closure.cell_contents 초기화 하기 문의

0

182

2

map함수 사용 시, list변환 방법 문의

0

398

2

__mul__ 백터 * 숫지, 백터 * 백터 처리

0

176

1

del처리후 질문입니다.

0

212

1

car_list(car1,car2,car3) 인스턴스 tuple 타입 문의

0

266

1

coroutine에 대한 질문

0

278

1