Python中級3日目(4)
5838 ワード
もし私たちが特定のランキングと番号に従って分類し、これらについて、各要素を怠ることが何を意味するかを考えたいなら、どうすればいいのでしょうか.
このときはfor mun、range、namedtupleを使います.
これらの目標を達成するには,まず第1の方法から2つの方法がある.
このときはfor mun、range、namedtupleを使います.
これらの目標を達成するには,まず第1の方法から2つの方法がある.
1번 방법
student_num = [str(i) for i in range(1,21)]
rank = 'A B C D'.split()
# 여기서 알아야 하는 점은 split()함수는 해당 원소들을 새로운 리스트에 담는다.
Sort_func = namedtuple('sort', 'rank, num')
Sort1 = [sort('rank', 'num') for i in rank ,for k in student_num]
위처럼 반드시 리스트로 묶고 for문을 돌려줘야한다
만일 아래의 경우처럼 하면 오류가 발생한다.
Sort1 = [sort('rank', 'num')]
for i in rank :
for k in student_num :
rank = i
num = k
이런 식의 코드는 에러가 난다. 그리고 제대로 된 결과를 찍어보면 아래와 같다.
[Classes(rank='A', number='1'), Classes(rank='A', number='2'), Classes(rank='A', number='3')]
2번 방법
위와 같이
변수명 = [네임드튜플명(인자1, 인자2) for1 for2]
이러한 형식으로 줄지어 작성하면 코드 가독성에 있어 문제가 생길 수 있다.
그리고 rank , student_num처럼 변수들을 만들고 namedtuple을 사용하면
코드의 길이가 길어지는 단점도 존재한다.
그래서 다음과 같은 방법을 사용하는 것도 추천된다.
Sort1 = [sort('rank','num')
for rank in 'A B C D'.split()
for num in [str(n) for n in range(1,21)]
Reference
この問題について(Python中級3日目(4)), 我々は、より多くの情報をここで見つけました https://velog.io/@ralo-gimhae/파이썬-중급-3일차4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol