Python Basic 8 | 반복문으로 리스트 만들기

devheyrin·2022년 1월 7일
0

python basic

목록 보기
8/19

1차원 리스트 만들기

a = []
for i in range(10):
    a.append(0)
print(a)

2차원 리스트 만들기

a = []
for i in range(3):
    line = []  # 안쪽 리스트로 사용할 빈 리스트 생성 
    for j in range(2):
        line.append(0)  # 안쪽 리스트 채우기 
    a.append(line)  # 바깥쪽 리스트에 안쪽 리스트 추가 
print(a)  # [[0, 0], [0, 0], [0, 0]]

리스트 표현식으로 2차원 리스트 만들기

a = [[0 for j in range(2)] for i in range(3)]
#       안쪽 리스트 채우기               
print(a)
a = [[0] * 2 for i in range(3)] 
# [0] * 2 = [0, 0] 이고, 이를 3번 반복한다. 
# [[0, 0], [0, 0], [0, 0]]

가로 크기가 불규칙한 리스트(톱니형 리스트) 만들기

a = [3, 1, 3, 2, 5]    # 가로 크기를 저장한 리스트
b = []    # 빈 리스트 생성 > 바깥쪽 리스트 
 
for i in a:      # 가로 크기를 저장한 리스트로 반복
    line = []    # 안쪽 리스트로 사용할 빈 리스트 생성
    for j in range(i):    # 리스트 a에 저장된 가로 크기만큼 반복
        line.append(0)
    b.append(line)        # 리스트 b에 안쪽 리스트를 추가
 
print(b)
a = [[0] * i for i in [3, 1, 3, 2, 5]]

2차원 리스트 정렬하기

students = [
    ['john', 'C', 19],
    ['maria', 'A', 25],
    ['andrew', 'B', 7]
]
 
print(sorted(students, key=lambda student: student[1]))  
# 안쪽 리스트의 인덱스 1(a, b, c)을 기준으로 정렬
# [['maria', 'A', 25], ['andrew', 'B', 7], ['john', 'C', 19]]
print(sorted(students, key=lambda student: student[2]))  
# 안쪽 리스트의 인덱스 2(7, 19, 25)를 기준으로 정렬
# [['andrew', 'B', 7], ['john', 'C', 19], ['maria', 'A', 25]]
profile
개발자 헤이린 🔜 프로덕트 매니저로 나아가는 중!

0개의 댓글