제로베이스 데이터 취업 스쿨 1주차 스터디노트 2
list_data = [5, 6, 7, 8, "a", "b", "c", "d", "e", 13, 14]
list_data[4:9] = [9, 10] # 개수도 다르게 할 수 있다 (4개의 요소가 2개로 줄어듬)
print(list_data) # [5, 6, 7, 8, 9, 10, 13, 14]
list_data[:0] = [1, 2, 3, 4] # 대체가 아니라 순수한 추가도 된다
print(list_data) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14]
list_data[10:10] = [11, 12] # 앞, 뒤에서만 추가가 가능한 건 아니다
print(list_data) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
# cf)
list_data[8] = [7, 6, 5] # element가 list data가 되어버림
print(list_data) # [1, 2, 3, 4, 5, 6, 7, 8, [7, 6, 5], 10, 11, 12, 13, 14]
# numpy에서도 적용이 될까?
import numpy as np
list_data = np.array([5, 6, 7, 8, "a", "b", "c", "d", "e", 13, 14])
print(list_data)
list_data[4:9] = np.array([9, 10]) # 이 코드는 에러 발생함
# could not broadcast input array from shape (2,) into shape (5,)
# shape를 바꿀 수 없다
list_data[4:9] = np.array([9, 10, 11, 12, 13]) # 그럼 shape를 바꾸지 않는다면?
print(list_data)
list_data[6:11] = [9, 8, 7, 6, 5] # python의 list와 호환되는지?
print(list_data)
결론: package는 import 불가, module은 import 가능
TMI: function은 import 가능, but from 없이는 안 되는 듯
arithmetic이라는 폴더 내 basic_op.py가 있다고 합시다.
# basic_op.py
def add(x, y):
return x + y
# main.py
# 에러 발생
import arithmetic
result_one = arithmetic.basic_op.add(5, 8)
# 정상 작동
import arithmetic.basic_op
from arithmetic import basic_op
from arithmetic.basic_op import add
# 이건 안됨
import arithmetic.basic_op.add
# built-in module에 대한 의문
# 둘 다 정상 작동... random이 폴더명이 아니고, random.py가 존재하는 모양?
import random
from random import randint