inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

매직 메소드(3-3)

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

180

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문으로 나열해서 쓰는게 가독성은 더 좋을 것 같아여.

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

0

51

1

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

0

95

1

chapter 07-01 실행 오류

0

78

1

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

0

90

2

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

0

108

2

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

0

79

2

chapter05_02 클로저 질문사항 !

0

61

1

LV1 설정

0

95

2

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

0

140

2

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

0

106

2

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

0

137

1

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

0

178

1

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

0

262

2

closure.cell_contents 초기화 하기 문의

0

139

2

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

0

353

2

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

0

150

1

del처리후 질문입니다.

0

163

1

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

0

234

1

coroutine에 대한 질문

0

251

1

제너레이터 이터레이터 질문이 있습니다.

0

258

1

atom install package search not working

0

283

1

Magic Method - Not Implemented

0

405

1

가상환경 질문!

0

410

1

병렬처리 추가 질문이 있습니다.

0

254

1