반응형

오늘 시간에는 가장 보편적으로 사용되는 리스트(list) 자료구조에 대해 설명을 드리겠습니다.

 

리스트는 간단하게 항목들의 모음집이라고 생각하시면 됩니다.

 

1. 리스트 생성

파이썬에서 리스트는 아래 소스코드와 같이 생성할 수 있습니다. 빈 리스트를 생성할 때 []에 아무값도 넣지 않으시면 됩니다. 그리고 리스트에 들어가는 값들을 각각의 요소(element)라고 부릅니다.

 

리스트의 각 요소는 서로 다른 자료형(int, string 등)으로 이루어질 수 있습니다.

 

a = [] # 빈 리스트

b = [1,2,3,4] 

c = ["a", "b", "c"]

d = [1, 2, "a", "b"]

 

2. 리스트의 요소 출력

리스트를 생성하였다면 그 안의 값을 출력해 볼 수도 있습니다. 아래 코드처럼 리스트 자료구조인 변수 b를 출려하면 b에 포함된 모든 요소를 출력합니다.

 

여기서 조심해야 할 것은 순서를 가리키는 인덱스(index) 번호입니다. 우리는 일반적으로 시작을 1로 합니다. 하지만 컴퓨터에서의 시작은 언제나 0으로부터 시작합니다.

 

b = [1,2,3,4] 
print(b) # 리스트의 모든 요소를 출력

print(b[0]) # 첫번째 요소를 출력

print(b[3]) # 네번째 요소를 출력

print(b[-1]) # 마지막 요소를 출력

###출력 결과###
[1, 2, 3, 4]
1
4
4

 

또 리스트에서의 요소는 순서가 정해져 있기 때문에 문자열처럼 슬라이싱(slicing)이 가능합니다. 아래 예시 결과를 보시면 슬라이싱할 때 다음과 같은 규칙을 가지고 있습니다.

 

예를 들어, [0:5]라고 한다면 0 즉 첫번째 값부터 (5-1)번째 까지의 값을 출력합니다.  

 

그리고 [5 : ]에서 끝 인덱스가 없을 경우에는 모든 값을 출력한다는 의미입니다.

 

b = [1,2,3,4,5,6,7,8,9,10] 

print(b[0:5]) # 0~4번째까지의 값을 출력

print(b[5:]) # 5번째부터 이후의 값을 출력

print(b[2:-2]) # 2번째부터 마지막 3번째 값을 출력

###출력 결과###
[1, 2, 3, 4, 5]
[6, 7, 8, 9, 10]
[3, 4, 5, 6, 7, 8]

 

리스트의 값을 변경할 수 있습니다. 

 

b = [1,2,3,4,5,6,7,8,9,10]
b[2] = 100
print(b)

###출력 결과###
[1, 2, 100, 4, 5, 6, 7, 8, 9, 10]

 

3. 리스트 메소드(method)

리스트 자료구조에서 자주 사용하는 메소드를 설명하겠습니다.

 

메소드 설명
append() 리스트의 끝에 요소를 추가합니다.
insert() 명시된 인덱스 위치에 요소를 삽입합니다.
remove() 리스트에서 입력한 값을 찾아 제거합니다.
pop() 리스트의 마지막 요소를 리스트에서 제거합니다.
index() 특정 값이 리스트에서의 인덱스 위치를 반환합니다.
count() 입력한 데이터와 일치한 요소의 개수를 반환합니다.
sort() 리스트 내의 요소를 정렬합니다. 

 

append()

b = [1,2,3,4]
b.append(5)

print(b)

###출력 결과###
[1, 2, 3, 4, 5]

insert()

b = [1,2,3,4]
b.insert(0,100) # 첫번째 인자는 인덱스 번호, 두번째 인자는 삽입할 값

print(b)
###출력 결과###
[100, 1, 2, 3, 4]

remove()

b = [1,2,3,4]
b.remove(4) # 삭제할 값을 입력

print(b)
###출력 결과###
[1, 2, 3]

pop()

b = [1,2,3,4]
b.pop()

print(b)
###출력 결과###
[1, 2, 3]

index()

b = [1,2,3,4]
print(b.index(4)) # 요소의 값을 입력

print(b.index(5)) # 리스트에 5라는 요소가 없기 때문에 에러

###출력 결과###
3
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-26-fd31e41e0b25> in <module>
      2 print(b.index(4))
      3 
----> 4 print(b.index(5))

ValueError: 5 is not in list

count()

b = [1,2,3,4,1,2,1,3,1,2]

print(b.count(1)) # 요소의 값을 입력
###출력 결과###
4

sort()

b = [1,2,3,4,1,2,1,3,1,2]
b.sort() # 오름차순으로 정렬, 인자가 없을 때 초기값은 오름차순
b
###출력 결과###
[1, 1, 1, 1, 2, 2, 2, 3, 3, 4]

b = [1,2,3,4,1,2,1,3,1,2]
b.sort(reverse = True) # 내림차순으로 정렬
b
###출력 결과###
[4, 3, 3, 2, 2, 2, 1, 1, 1, 1]

 

여기까지 파이썬 리스트 자료구조에 대해 알아보았습니다. 다음 시간에는 튜플(tuple) 자료구조에 대해 알아보겠습니다.

 

 

python 배우기 : 네이버 카페

본 카페에서는 python 프로그래밍을 함계 학습하고 더 나아가 python을 이용해 크롤러, 기계학습을 학습

cafe.naver.com

 

'Python 기초 > 자료형' 카테고리의 다른 글

[파이썬] 변수(variable) 설명  (0) 2020.05.06
반응형

오늘 시간에는 변수(variable)에 대해 말씀을 드리겠습니다.

 

프로그래밍 언어에서 변수는 아주 기본적인 내용입니다.

 

변수란?

간단하게 변수란 어떠한 값(문자, 숫자 등)을 담는 창고라고 보시면 됩니다.

 

변수는 일반적으로 좌측에 변수 명, 우측에 값을 표시합니다. 'a'라는 창고에 10이라는 숫자를 저장한다. 'b'라는 창고에 "파이썬" 이라는 값을 저장한다. 이것을 다른 말로 변수 a에 10을 할당한다고 말합니다.

 

변수에 값을 할당하면 컴퓨터 내부적으로는 메모리(memory)에 변수 값을 저장하고 변수 명은 메모리의 주소를 가리킵니다.

 

변수 명 = 저장할 값

a = 10 # integer
b = "파이썬" # string
c = [1,2,3] # list

 

C언어, JAVA 같은 프로그램 언어에서는 변수를 선언할 때 변수의 자료형도 미리 지정해 주어야 합니다. 따라서 int형 a에 숫자가 아닌 다른 자료형의 값을 저장할 수 없습니다.

 

하지만 python에서는 자료형을 알라서 지정해주기 때문에 따로 설정할 필요가 없습니다.

 

int a = 10
char abc = "abcdef"

 

파이썬에서는 아래 소스코드와 같이 여러 변수를 한번에 지정할 수 있습니다. 하지만 변수의 개수와 값의 개수는 같아야 합니다. 아니면 오류가 생깁니다.

 

a, b = 10, 1000

 

이번 시간의 내용은 여기까지 입니다. 다음 포스터에서는 리스트(list), 튜플(tuple), 사전(dictionary) 자료형에 대해 알아보겠습니다.

 

 

python 배우기 : 네이버 카페

본 카페에서는 python 프로그래밍을 함계 학습하고 더 나아가 python을 이용해 크롤러, 기계학습을 학습

cafe.naver.com

 

'Python 기초 > 자료형' 카테고리의 다른 글

[파이썬] python 리스트(list) 자료구조  (0) 2020.05.06

+ Recent posts