-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
리스트 컴프리헨션에 관한 질문입니다
21.08.04 20:17 작성 조회수 94
0
강의에서
Classes = namedtuple('Classes', ['rank', 'number'])
다음과 같이 네임드 튜플을 선언하고,
numbers = [str(n) for n in range(1, 21)]
ranks = 'A B C D'.split()
이렇게 그룹 리스트를 선언한 후
students = [Classes(rank, number) for rank in ranks for number in numbers]
리스트 컴프리헨션을 사용하셨는데요, [](대괄호) 내부에서의 반복문을 사용함으로써
Classes(A, 1)부터 시작되는 객체를 생성하는 과정이라고 이해하면 되는건가요?
그리고 리스트 컴프리헨션을 사용한 이유는 오직 반복문을 사용하기 위함인건지 궁금합니다..
+ 또 궁금한게 있습니다...
students2 = [Classes(rank, number)
for rank in 'A B C D'.split()
for number in [str(n)
for n in range(1, 21)]]
다음과 같이 코드를 작성하셨는데요, for문을 중첩 for 반복문과 비슷하게 작성하셨는데 리스트 컴프리헨션에서는 for이 한 줄로 작성되지 않아도 무방한 것인지 궁금합니다!!
질문이 너무 많은 것 같네요... 강의 잘 듣고 있습니다 감사합니다 ㅎㅎ
답변을 작성해보세요.
0
좋은사람
지식공유자2021.08.05
네 생성 과정이맞습니다.
보통 중첩 for 문을 리스트 컴프리핸션으로 작성해도 결과의 차이는 없습니다.
경우에 따라 for문으로 나열해서 쓰는게 가독성은 더 좋을 것 같아여.
답변 1