[A Byte of Python] 10장 자료구조

[A Byte of Python]
10장 자료구조


리스트 (list)

리스트란 “순서”대로 정리된 항목들을 담고 있는 자료 구조이다.
정의 방법은 [] 를 사용해 정의하며, 각 항목들은 , 로 구분한다.

튜플 (tuple)

튜플은 리스트와 비슷하지만, 리스트와 달리 “수정이 불가능”하다.
주로 문자열과 같은 정적 객체를 담을 때 사용된다.
정의 방법은 ()를 사용해 정의하며, 각 항목들은 , 로 구분된다.

사전 (dict)

사전은 Key와 Value가 한쌍을 이루는 구조로 Key를 통해 Value에 접근할 수 있다.
정의 방법은 dict = { key1 : value1 , key2 : value2 }와 같은 key:value구조로 되어있으며 각각의 쌍은 , 로 구분된다.


열거형

열거형은 리스트, 튜플. 문자열을 나타내는 것이고,
두가지 중요한 특징이 존재한다.

첫째로, 맴버십 테스트(innot in 연산).

둘째로, 특정 항목을 가져올 수 있는 인덱싱 연산이다.

또한 열거형은 슬라이스 연산 기능이 존재하는데, 열거형의 일부분을 잘라낸것을 만환 하는 연산이다.

예제

shoplist = ['apple', 'mango', 'carrot', 'banana']
name = 'swaroop'
# Indexing or 'Subscription' operation #
print 'Item 0 is', shoplist[0]
print 'Item 1 is', shoplist[1]
print 'Item 2 is', shoplist[2]
print 'Item 3 is', shoplist[3]
print 'Item -1 is', shoplist[-1]
print 'Item -2 is', shoplist[-2]
print 'Character 0 is', name[0]
# Slicing on a list #
print 'Item 1 to 3 is', shoplist[1:3]
print 'Item 2 to end is', shoplist[2:]
print 'Item 1 to -1 is', shoplist[1:-1]
print 'Item start to end is', shoplist[:]
# Slicing on a string #
print 'characters 1 to 3 is', name[1:3]
print 'characters 2 to end is', name[2:]
print 'characters 1 to -1 is', name[1:-1]
print 'characters start to end is', name[:]

 

집합

집합은 정렬되지 않은 단순한 객체의 묶음을 의미한다.
다만 집합은 집합론에 “사용하는 연산”을 사용할 수 있다.
정의 방법은 {}를 사용하며 , 로 각 항을 구분한다.

 

참조

객체를 생성하고 변수에 할당해 줄 때, 객체가 변수에 할당 되는 것이 아닌 “참조“만 할 뿐이다.

예를 들어,

a = [ 1, 2, 3 ]
b = a
a.append(10)

위와 같은 코드가 있을 때,
a와 b의 값은 [ 1, 2, 3, 10 ]으로 동일하다.
즉, a와 b는 같은 객체를 “참조” 하고 있다는 뜻이다.

 

글의 문제가 있다면 댓글을 달아 주세요.

This site uses Akismet to reduce spam. Learn how your comment data is processed.