이것도 된다고?

I'm Cape·2023년 5월 5일
0

제로베이스 데이터 취업 스쿨 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 vs module

결론: 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
profile
Impact

0개의 댓글