리스트는 data를 순서대로 저장하는 자료구조 여러 데이터가 일직선으로 연결된 선형구조
하나의 변수의 여러개의 값을 저장할 수 있음
1차원배열 = 순차리스트
Mylist = [1,3,2,4,5]
원래는 변수 5를 만들어야하는데 Mylist라는 변수하나로 관리가능
메모리주소도 근처에 인접하여 저장
데이터 접근: 리스트 인덱싱
인덱스를 사용하여 순차리스트 관리
인덱스 넘버링은 뒤에서 부터 부를 수도 있음 -> 음수부호(-) 사용
Mylist[0] =1 #인덱스는 0부터 시작
Mylist[-5]=1 #뒤에서 부터 호출시 -1부터 시작
이차원배열 : 행x열
다수의 데이터 집합에 대한 작업
리스트의 리스트
apt=[None]*3 # 아무것도 담기지않은 공간 세개짜리 리스트를 만들겠다
fa=[0]*3
print(fa) #[0, 0, 0]
apt[0]=[1,2,3] #0번 인덱스 리스트에 리스트 추가
apt[1]=[4,5,6] #1번 인덱스 리스트에 리스트 추가
apt[2]=[7,8,9] #2번 인덱스 리스트에 리스트 추가
행/열 0 1 2
0
1
2
1행의 2열 값 가져오기
print(apt[1][2]) #6
반복문사용하여 이차원 배열 만들기
for i in range(3): #행우선(행고정)
for j in range(3):
print(apt[i][j])
for j in range(3): #열우선(열고정)
for i in range(3):
print(apt[i][j]) #apt[i][j]=float(input()) 값을 입력받고 싶다면 input() 함수 사용
#3*3 배열에 무작위로 값을 저장하여 각 행단위의 합계를 출력하시오.
import random
col=3 #열
row=3 #행
apt=[[0]*row for i in range(col)] #1. 3*3 행렬 생성
for i in range(row):
for j in range(col):
apt[i][j]=random.randint(1,100) #2. 난수로 채워주기
print(apt) #[[33, 13, 8], [72, 69, 46], [72, 68, 48]]
#3. 합계 계산(행기준)
sum=[0]*3
for i in range(row):
for j in range(col):
sum[i]+=apt[i][j]
print(sum)
# [54, 187, 188]
# 4. 출력
for i in range(row):
for j in range(col):
print("%d" % apt[i][j], end=" ")
print(sum[i])
# 33 13 8 54
# 72 69 46 187
# 72 68 48 188
#3*3 배열에 무작위로 값을 저장하여 각 열단위의 합계를 출력하시오.
#1~2번과정 일치
apt = [[85, 4, 11], [6, 6, 88], [77, 86, 58]]
#3. 합계 계산(열기준)
sum=[0]*3
for j in range(col):
for i in range(row):
sum[j]+=apt[i][j]
print(sum) #[168, 96, 157]
'취준일기' 카테고리의 다른 글
[TIL_알고리즘] 델타를 이용한 2차원 배열 검색 (0) | 2020.11.07 |
---|---|
11/6 일지 (0) | 2020.11.06 |
R :: 조건부확률 계산 HydeNet (0) | 2020.11.05 |
11/5 일지 (0) | 2020.11.05 |
[TIL_알고리즘] 시간복잡도를 표현하는 빅오표기법 (0) | 2020.11.05 |