[파이썬] 리스트, 튜플, 딕셔너리, 세트 (list, tuple, dictionary, set) 사용법
파이썬 - 리스트, 튜플, 딕셔너리, 세트 (list, tuple, dictionary, set) 사용법
목차
- 리스트 (list) 사용법 및 메소드
- 튜플 (tuple) 사용법
- 딕셔너리 (dictionary) 사용법
- 세트 (set) 사용법
1. 리스트 (list) 사용법 및 메소드
리스트는 하나의 변수에 다수의 데이터를 저장할 수 있는 자료형으로, 대괄호 [ ] 안에 정수, 실수, 문자열 등 모든 형태의 자료형을 포함시켜 사용할 수 있습니다.
1) 리스트 생성방법
a = [ ]
b = list( )
c = [1, 2, 3]
2) 리스트 연산 및 리스트 값 가져오기
a = [1, 2, 3, 4]
b = ['a', 'b', 'c', 'd']
print("a + b = ", a + b)
print("a * 2 = ", a * 2)
print("a[1] = ", a[1])
print("a[1:] = ", a[1:])
print("a[2:4] = ", a[2:4])
print("b[2] = ", b[2])
print("b[:2] = ", b[:2])
print("b[2:4] = ", b[2:4])
#실행결과#
a + b = [1, 2, 3, 4, 'a', 'b', 'c', 'd']
a * 2 = [1, 2, 3, 4, 1, 2, 3, 4]
a[1] = 2
a[1:] = [2, 3, 4]
a[2:4] = [3, 4]
b[2] = c
b[:2] = ['a', 'b']
b[2:4] = ['c', 'd']
3) 리스트 메소드
- .append(요소) : 요소 하나를 추가함
- .extend(리스트) : 리스트의 각 요소를 추가하여 리스트를 확장함
- .insert(인덱스, 요소) : 인덱스의 위치에 요소를 삽입함
- .pop(인덱스) : 해당 인덱스의 요소를 반환하고 삭제함 (인덱스 생략시 마지막 요소를 삭제함)
- .remove(값) : 리스트에서 맨처음 찾은 해당값 하나를 삭제함
- .index(값) : 리스트에서 맨처음 찾은 해당값의 인덱스 위치 정보를 반환함
- .count(값) : 리스트에 포함되어 있는 해당값의 개수를 구해서 반환함
- .sort( ) : 리스트의 요소를 오름차순으로 정렬함
- .sort(reverse = True) : 리스트의 요소를 내림차순으로 정렬함
- .reverse( ) : 리스트의 요소 순서를 반대로 뒤집음
- .clear( ) : 리스트의 모든 요소를 삭제함
[사용예제]
a = [1, 2, 3]
a.append(10)
a.append([20, 30])
a.extend([40, 50])
print("1: ", a)
b = ['a', 'b', 'c']
b.insert(1, 'z')
print("2: ", b)
c = [11, 22, 33, 44]
print("3: ", c.pop(), c)
print("4: ", c.remove(33), c)
d = ['a', 'b', 'c', 'b', 'b', 'b']
print("5: ", d.index('b'))
print("6: ", d.count('b'))
d.sort(reverse=True)
print("7: ", d)
d.sort()
print("8: ", d)
d.reverse()
print("9: ", d)
d.clear()
print("10: ", d)
[실행결과]
1: [1, 2, 3, 10, [20, 30], 40, 50]
2: ['a', 'z', 'b', 'c']
3: 44 [11, 22, 33]
4: None [11, 22]
5: 1
6: 4
7: ['c', 'b', 'b', 'b', 'b', 'a']
8: ['a', 'b', 'b', 'b', 'b', 'c']
9: ['c', 'b', 'b', 'b', 'b', 'a']
10: []
2. 튜플 (tuple) 사용법
튜플은 리스트와 유사하게 하나의 변수에 다수의 데이터를 저장할 수 있는 자료형이며 소괄호( )를 사용합니다.
리스트와 가장 큰 차이점은 튜플의 경우에는 요소의 추가, 수정, 삭제등이 불가능하다는 점입니다.
1) 튜플 생성방법
a = ( )
b = tuple( )
c = (1, 2, 3)
2) 튜플 사용법
튜플은 추가, 수정, 삭제등이 불가능하므로 append( ), extend( ) 등의 메소드는 사용할 수 없으나 index( ), count( )등은 리스트와 유사하게 사용할 수 있습니다.
3) 튜플과 리스트간 변환
튜플과 리스트는 아래와 같이 서로 변환하여 사용할 수 있습니다.
a = [1, 2, 3]
print("1: ", a)
print("2: ", tuple(a))
print("3: ", list(a))
#실행결과#
1: [1, 2, 3]
2: (1, 2, 3)
3: [1, 2, 3]
3. 딕셔너리 (Dictionary) 사용법
딕셔너리는 키(key)와 밸류(Value)가 한 쌍을 이루어 구성되어 있는 자료형을 말하며, 중괄호{ }를 사용합니다.
1) 딕셔너리 생성방법
- 딕셔너리이름 = { key1 : value1, key2 : value2, key3 : value3 }
- 키(key) : 다른 자료형도 가능은 하나 일반적으로 문자나 정수를 사용함
- 밸류(value) : 모든 자료형 가능함
a = { }
b = dict( )
c = { 'a':10, 'b':20, 'c':30 }
2) 딕셔너리 값 추가
data = { 'a':1, 'b':2, 'c':3 }
data['d'] = 4
print("1: ", data)
print("2: ", data['a'])
print("3: ", data['d'])
[실행결과]
1: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
2: 1
3: 4
3) 딕셔너리 메소드
- .keys( ) : key 값을 모두 가져옴
- .values( ) : value 값을 모두 가져옴
- .items( ) : key와 value값을 모두 가져옴
- .setdefault(key, value) : key와 value를 저장함 (기존 데이터에 key가 존재해도 value 값을 수정하지 않음)
- .update( { key1:value1, key2:value2 } ) : key와 value를 저장함 (기존 데이터에 key가 존재하면 value 값을 수정함)
4) 사용예제
data = { 'a':1, 'b':2, 'c':3 }
print("00: ", data['a'])
print("01: ", data.keys())
print("02: ", data.values())
print("03: ", data.items())
print("04: ", list(data.keys()))
print("05: ", list(data.values()))
print("06: ", list(data.items()))
print()
data['a'] = 10
print("07: ", data)
data['d'] = 4
print("08: ", data)
data.setdefault('d',40)
data.setdefault('e',50)
print("09: ", data)
del data['e']
print("10: ", data)
data.update({'d':44, 'e':55 })
print("11: ", data)
[실행결과]
00: 1
01: dict_keys(['a', 'b', 'c'])
02: dict_values([1, 2, 3])
03: dict_items([('a', 1), ('b', 2), ('c', 3)])
04: ['a', 'b', 'c']
05: [1, 2, 3]
06: [('a', 1), ('b', 2), ('c', 3)]
07: {'a': 10, 'b': 2, 'c': 3}
08: {'a': 10, 'b': 2, 'c': 3, 'd': 4}
09: {'a': 10, 'b': 2, 'c': 3, 'd': 4, 'e': 50}
10: {'a': 10, 'b': 2, 'c': 3, 'd': 4}
11: {'a': 10, 'b': 2, 'c': 3, 'd': 44, 'e': 55}
4. 세트 (Set) 사용법
세트(Set) 또한 여러 개의 자료를 하나로 묶어 사용할 수 있는 자료형이며, 중괄호{ }를 사용합니다.
세트(Set)의 특징으로는 아래와 같습니다 .
- 세트(Set)에서는 요소에 숫자, 문자, 튜플만 저장할 수 있습니다.
- 세트(Set) 내 요소는 순서가 없습니다. 따라서 사용할 때마다 각 요소의 순서가 바뀔수 있습니다.
- 세트(Set)의 각 요소는 중복을 허용하지 않습니다.
세트(Set)에서는 중복 요소를 허용하지 않기 때문에 요소의 중복 제거에 주로 활용되며, 합집합, 교집합, 차집합 등의 여러가지 집합과 관련된 연산을 할 수 있습니다.
1) 세트 생성방법
- 세트 이름 = { 요소1, 요소2, 요소3 }
a = set( )
b = set([1, 2, 3])
c = { 'a', 'b', 'c' }
2) 사용예제
[중복제거 예제]
a = [1, 2, 3, 1, 2, 3]
b = set(a)
c = list(b)
print("a: ", a)
print("b: ", b)
print("c: ", c)
#실행결과#
a: [1, 2, 3, 1, 2, 3]
b: {1, 2, 3}
c: [1, 2, 3]
[합집합, 교집합, 차집합 예제]
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
print("합집합 : ", set(a) | set(b))
print("교집합 : ", set(a) & set(b))
print("차집합 : ", set(a) - set(b))
#실행결과#
합집합 : {1, 2, 3, 4, 5, 6}
교집합 : {3, 4}
차집합 : {1, 2}