본문 바로가기

파이썬/알고리즘

파이썬- 2차원 리스트

2차원 리스트 선언 하는 방법

list=[[0]*N for i in range(N)] #N*N차원 배열선언

 

출력하는 방법

for i in range N:

    for j in range N:

        print(li[i][j], end=' ')

 

***세로로 출력하는 방법***

배열을 아래처럼 가로가 아닌 세로 방향으로 출력하고 싶다면

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16

 

 zip함수를 사용

zip함수를 사용하여 세로 방향으로 함수를 뒤집어 줄 수 있다

 

예시

k=0

n=int(input())

li=[[0]*n for i in range(n)] #n*n배열

 

for p in range(n):

    for q in range(n):

        k+=1

        li[p][q]=k

 

new_li=list(map(list,zip(*li)))  **이곳에서 zip함수 사용하여 일반적인 배열을 뒤집어 준다

 

for k in range(n):

    for m in range(n):

        print(new_li[k][m], end=' ')

    print()

결과

<일반적인 형식>  

1 2 3 4 5                        
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20              
21 22 23 24 25

 

 

<zip을 사용한 후 형식>

1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25

'파이썬 > 알고리즘' 카테고리의 다른 글

프로그래머스-숫자 문자열과 영단어  (0) 2021.08.16
DFS/BFS 백준 1260번  (0) 2021.06.13
파이썬-진수 변환, ASCII코드 변환  (0) 2021.06.01
파이썬-배열 역순정렬  (0) 2021.06.01
파이썬-Range  (0) 2021.05.29