Python Programming

list(자료형)

mal._.na 2021. 4. 6. 16:35

Python list(자료형) 란?

  • RAM에 변수를 자료형으로 저장하는 방식.
  • 시퀀스의 속성을 지닌 index를 가지고 있다.
  • Python의 list는 C언어와 달리 변수에 Integer & float별 data type을 선언하지 않아도 "변수명=값"을 명시하면 알아서 data type을 지정해준다.
C언어 Python Data Type
int a=1 a=1 Integer(int)
float b=1.5 b=1.5 float

 

1. list

  • 동일 속성의 데이터들을 하나의 변수로 관리할 수 있는 데이터 자료형이다.
    - e.g. 학급에 대해서 성적을 취합하고 싶은 경우 (학급 인원 / 성적) = list
  • list()  > e.g. class_score = list([90, 30, 60])
    - 지금은 위에 대괄호로 묶어서 명시한 데이터 값들과 결과값은 동일하지만
    "list()"는 나중에 tuple이나 다른 자료형으로 변환할 때 사용되므로, 명시할 수 있는 두가지 방법 다 알아두어야한다.

class_score = [903060]

print(class_score)

# result:
[90, 30, 60]

 

  • Data Type Check
    - data type을 확인하려고 할 때는 type(변수명)을 선언해서 그 변수의 데이터 타입을 확인할 수 있다.

print(type(class_score))

# result: <class 'list'>

 

  • 자료형에는 int & string & list & tuple 등 다양한 자료형을 선언할 수 있다.
    - e.g. class_score = [1, 2, [1, 2]]

 

  • Index
    -
    list에 담은 데이터 크기를 index라 한다.
    - 하나의 element를 가지고 올 때 0부터 데이터 크기에 맞게 선언해서 indexing할 수 있다.

# 모든 Programming Language의 index는 항상 0부터 시작한다.

print
(class_score[0])

# result: 90

# list의 element가 많을 경우 맨 마지막의 인덱스의 값을 구하는 방법

print(class_score[-1])

# result: 60

# 뒤에서 두번째인 인덱스의 값을 구할 경우

print(class_score[-2])

# result: 30

# 범위 인덱싱
# element와element 사이의 인덱스 값을 구할 경우
# [ a : b ] >> a= 이상(포함) b= 미만(미포함)

print(class_score[0:2])

# result: [90, 30]

# [:1] 앞에 인덱스 크기를 지정해주지 않아도 0이 생략됐음을 의미한다.

print(class_score[:1])
# result: [90]

# [1:] 뒤에 인덱스 크기를 지정하지 않을 경우에는 앞에 지정한 인덱스 크기부터 맨 마지막 인덱스까지의 값을 출력한다. 즉, "-1"이 생략됐음을 의미한다. 

print(class_score[0:])

# resutl: [90, 30, 60] 


# [:] 앞, 뒤를 지정하지 않을 경우 그냥 list 그대로 인덱스의 값이 출력된다.

print(class_score[:])

# result: [90, 30, 60]

 

2. 다차원 list (2차원 list)

  • 리스트 안에 리스트가 들어가는 경우를 뜻한다.

# class_score 자체 데이터 타입은 list이지만, class_score 리스트의 element 또한 리스트인 자료형을 볼 수 있다.

class_score = [[1,2],[a,b],[0,x]]

print(type(class_score))

# result: list

print(type(class_score[0]))

# result: list