| 리스트 | 배열 |
|---|---|
| 다양한종류의 데이터를 담을 수 있다 반복문을 사용하여 연산을 수행하기에 상대적으로 수행하는 속도가 느리다. 연산 처리 시 전체 리스트로 연산한다 | 동일한 종류의 데이터만 담을 수 있다 연속된 메모리에 데이터를 저장한다. 간단한 연산 처리가 가능하고 수행하는 속도가 빠르다 연산 처리시 각 요소별로 연산한다. |
# 리스트
list_1 = [1,"가",3.14,["a","신호등","3"]]
print(list_1, type(list_1))
# 리스트로 1차원 배열 표현하기 : for 문 사용
list_1 = []
for i in range(1, 7):
list_1.appned(i)
print(list_1, type(list_1))
# 하나의 리스트로 2차원 배열 표현하기 for 문 사용
list_1 = []
for i in range(2):
list_1.append([0]*3)
print(list_1, type(list_1))
# 하나의 리스트로 2차원 배열 표현하기 for 문 사용
list_1 = [[0]*3 for i in range(3)] # list comprehension
print(list_1, type(list_1))
# 배열(1)
# 방법 1: 1차원 배열
import numpy as np
arr=np.arange(1, 7)
print(arr, type(arr))
# 방법 2: 1차원 배열
import numpy as np
arr=np.array([1,2,3,4,5,6])
print(arr, type(arr))
# 방법 3: 2차원 배열
import numpy as np
arr=np.array([[1,2],[3,4],[5,6]])
# 방법 1 : for 문을 1번 사용해서 2차원 배열 만들기
arr1 = [[1,2],[3,4],[5,6]]
for i in arr1:
print(i)
# 방법 2: for 문을 1번 사용해 2차원 배열 만들기
arr1=[[1,2],[3,4],[5,6]]
for i,j in arr1:
print(i,j)
# 방법 3: while 문을 1번 사용해 2차원 배열 만들기
arr1=[[1,2],[3,4],[5,6]]
n=0
while n < len(arr1):
i=arr1[n]
print(i)
n+= 1
# 방법 4: 중첩 반목분(2중 for문) 사용해 2차원 배열 만들기
arr1=[[1,2],[3,4],[5,6]]
for i in arr1:
for j in i:
print(j, end=" ")
print('')
arr1=[[1,2],[3,4],[5,6]]
for i in arr1:
print(i)
print(arr1[1][1]) # arr[1,1]
arr1[1][1] = 10
arr1
# 숫자 8,4,9,10을 arr2에 추가
arr2=[]
# 삽입1
for i in range(4):
arr2.append(int(input()))
print(arr2)
# 삽입2
while True:
i2 = int(input())
if i2 = " ": # 스페이스 입력시 종료
print("종료")
break
add_arr=int(input())
arr2.insert(int(i2), add_arr)
print(arr2)
arr3=[8,4,9,10]
while True:
mode=int(input()) # 1: pop, 2:del, 3:remove
if mode==1:
t1=int(input())
result=arr3.pop(t1)
print(result)
break
elif model==2:
t1=int(input())
del(arr3[t1])
print(arr3)
break
else:
print(arr3)
t1=int(input())
arr3.remove(t1)
print(arr3)
break
A = {8:[65, 4], 4:[54, 9], 9:[12, None]}
print(A)
A[8][0]=65
A[8][1]=4 # 다음 데이터의 키
# 생략
A[9][1]=None
def SinglyLinkedList(A,root):
head=root
node_next=head
while node_next!=None:
node_value=A[node_next][0]
node_next=A[node_next][1]
print(f'value : {node_value}')
SingllyLinkedList(A, 8)
a={"h":[8,"t"],"t":[4,"u"],"u":[9, None]}
# 노드 순회
def test1(a, root_key):
head=root_key
node_next=head
while True:
node_value = a[node_next][0]
node_next = a[node_next][1]
print(f"vlaue : {node_value}")
if node_ndex == None:
break
test1(a, "h")