[파이썬] 자료형 (리스트, 튜플, 딕셔너리, 집합)

1. 리스트 (List)

[]로 묶이며, 여러 자료형이 동시에 들어갈 수 있다.

list = ['hi', 1, True]

중복된 값이 허용된다. 리스트 내에 또다른 리스트가 포함될 수도 있다. C++의 n차 배열 같다.

list = [1, 1, 1, [1, 2, 3]]

리스트 관련 함수

리스트의 맨 뒤에 원소를 추가하려면 append() 함수, extend() 함수, += 연산자를 사용한다.

list = [1, 2, 3, 4]

list.append(5)
print(list)  #[1, 2, 3, 4, 5]

list+=[6, 7]
print(list)  #[1, 2, 3, 4, 5, 6, 7]

list.extend([8, 9])
print(list)  #[1, 2, 3, 4, 5, 6, 7, 8, 9]

원하는 위치에 원소를 추가하려면 insert() 함수를 사용한다. insert(a, b)는 a위치에 b를 삽입한다는 의미이다. a가 리스트 길이보다 길다면 맨 뒤에 원소가 삽입된다.

list = [1, 2, 3, 4]

list.insert(1, "new")

print(list)     #[1, "new", 2, 3, 4]

del a[x]는 a리스트의 x번째 원소를 제거한다.

list = [1, 2, 3, 4]

del list[1]

print(list)     #[1, 3, 4]

remove(x)는 리스트에서 첫번째로 나오는 x를 제거한다. x가 없다면 에러를 반환한다.

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

list.remove(1)

print(list)     #[2, 1, 3, 4]

index(x) 함수는 리스트 내의 x라는 원소의 인덱스를 반환한다. x가 없다면 에러를 반환한다.

list = [1, 2, 3, 4]

print(list.index(3))       #2

pop(x) 함수는 리스트의 x번째 원소를 반환하고 제거한다. x값을 명시 안하면 맨 마지막 값을 pop한다.

list = [1, 2, 3, 4, 5]
print(list.pop())   #5
print(list)         #[1, 2, 3, 4]

2. 튜플 (Tuple)

튜플을 리스트와 거의 동일하지만, ()로 묶이고 원소 수정이 불가하다. 또한 ()는 생략 가능하다.

3. 딕셔너리 (Dictionary)

해시 자료구조를 파이썬에서 구현한 것이다. {}로 묶이며 ‘key’:’value’ 형태로 이루어진다.

딕셔너리의 key는 유일해야 하며, mutable한 값을 사용할 수 없다. 따라서, key에는 튜플은 들어갈 수 있지만 리스트는 들어갈 수 없다.

또한 딕셔너리를 순서(인덱싱)가 없다.

딕셔너리 쌍 추가는 다음과 같다.

dict = {'name':'yuntreee'}
dict['age']=25
print(dict)     #{'name': 'yuntreee', 'age': 25}

딕셔너리 관련 함수

del a[x]를 하면 키값이 x인 쌍을 제거한다.

dict = {1:'one', 2:'two', 3:'three'}
del dict[1]
print(dict)	    #{2: 'two', 3: 'three'}

a.keys() 함수는 a딕셔너리의 key값만 모아서 dict_keys라는 객체를 반환한다.

a.values() 함수는 a딕셔너리의 value값만 모아서 dict_values라는 객체를 반환한다.

a.items() 함수는 a딕셔너리의 key와 value쌍을 튜플로 묶은 dict_items 라는 객체를 반환한다.

dict = {1:'one', 2:'two', 3:'three'}

print(dict.keys())          #dict_keys([1, 2, 3])

print(dict.values())        #dict_values(['one', 'two', 'three'])

print(dict.items())         #dict_items([(1, 'one'), (2, 'two'), (3, 'three')])

key값으로 value를 얻기 위해서는 a[key] 혹은 a.get(key) 을 사용한다.

단, 해당 key가 없을 때 a[key]는 에러가 발생하고 a.get(key)는 None을 반환한다.

dict = {1:'one', 2:'two', 3:'three'}

print(dict[1])      #one

print(dict.get(1))  #one

x라는 키가 a딕셔너리에 있는지 확인하기 위해 in 함수를 사용한다.

dict = {1:'one', 2:'two', 3:'three'}

print(1 in dict)        #True
print(10 in dict)       #False

4. 집합 (set)

집합 관련된 것들을 쉽게 다루기 위한 자료형이다. 집합은 중복을 허용하지 않고 순서가 없다.

set() 함수를 이용하여 집합을 생성할 수 있다.

list1 = [1, 2, 3, 4]
str = "Hello"

s1 = set(list1)
print(s1)			{1, 2, 3, 4}

s2 = set(str)
print(s2)			{'l', 'o', 'H', 'e'}

집합 관련 함수

add() 함수를 통해 집합에 1개의 값을 추가할 수 있다. 여러 개의 값을 추가할 때는 update() 함수를 사용한다.

특정 값을 제거할 때는 remove() 함수를 사용한다.

s1=set([1, 2, 3])

s1.add(4)
print(s1)			{1, 2, 3, 4}

s1.update([5, 6])
print(s1)			{1, 2, 3, 4, 5, 6}

s1.remove(6)
print(s1)			{1, 2, 3, 4, 5}

집합 연산

교집합은 &, 합집합은 , 차집합은 - 연산으로 구할 수 있다.

카테고리:

업데이트:

댓글남기기