언어 공부/Python

2-1. Variable & List

LTSGOD 2023. 3. 4. 13:24

변수 -> 값을 저장하는 장소

 

변수는 메모리 주소를 가지고 있고 변수에 들어가는 값은 메모리 주소에 할당됨.

 

- 선언되는 순간 메모리 특정영역에 물리적인 공간이 할당.

 

기본 자료형

 

연산자(Operator)와 피연산자(Operand)

- 연산자: +,-,*,/ 같은 기호들

- 피연산자: 연산자에 의해 계산이 되는 숫자들

- 문자간에도 + 연산 가능

 

제곱승: **

나머지연산: %

증감연산: a +=1 (a++ 안됨)

 

데이터 형 변환

 

float(): 실수형으로 형변환

int(): 정수형으로 형변환

type(): 데이터 형 확인 함수

 

실수 -> 정수 형변환시 소수점 이하 버림.

 


List

 

- 시퀀스 자료형, 여러데이터들의 집합

- int, float 같은 다양한 데이터 타입 포함.

 

List 의 특징

  • - 인덱싱(indexing)
    • list에 있는 값들은 주소(offset)을 가짐, 주소를 사용해 할당된 값을 호출
  • - 슬라이싱(slicing)
    • - list 값들을 잘라서 쓰는 것이 슬라이싱

ex)

'' 생략

cities = [서울, 대구 , 대전, 부산]

cities[0:6]

cities[-9:0] # 범위 넘어가면 자동으로 최대범위 지정

cities[:] # 처음 부터 꿑까지

cities[::2] #2칸씩

cities[::-1] #역순

 

  • - 리스트 연산

len():  리스트 길이

list.append(): 추가

list.extend(["black","white"]): 리스트에 새로운 리스트 추가

list.insert(0,"black"): 0번째주소에 black 추가

list.remove("black"): 리스트에서 black 삭제

del color[0]: 0번째 주소의 리스트 객체 삭제

  • - 메모리 저장 방식

파이썬 리스트의 특징

 

- 다양한 Data Type이 하나의 리스트에 들어감.

 

파이썬은 해당 리스트 변수에 리스트 주소값이 저장된다.

 

깊은 복사를 위해 a[:]로 슬라이싱 해주어야한다. 

 

  • - 패킹과 언패킹

- 패킹: 한 변수에 여러개의 데이터를 넣는것

ex) t = [1.2.3]

 

- 언패킹: 한 변수의 데이터를 각각의 변수로 반환

a,b,c = t

  • - 이차원 리스트

a = [1,2,3]

b = [4,5,6]

c = [a,b]

 

깊은 복사를 하려면??

 

import copy

 

d = copy.deepcopy(c)