본문 바로가기
Python

[Python] 파이썬 기초 - 자료형2 (리스트, 튜플, 딕셔너리, 집합, 불)

by 끊임없는정진 2022. 11. 17.

▶리스트

우리가 여러 프로그래밍 언어를 거치면서 경험했던, array형태와 매우 비슷하다. 리스트명 = [요소1, 요소2, 요소3, ...] 과 같은 형태로 정의한다. 전에서 문자열을 슬라이싱한 것과 마찬가지로 리스트 역시 슬라이싱이 가능하다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 리스트 슬라이싱
>>> a = [12345]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[12]
>>> c
[345]
# 리스트 길이 구하기
>>> a = [123]
>>> len(a)
3
# 리스트 값 수정하기
>>> a = [123]
>>> a[2= 4
>>> a
[124]
# 리스트 요소 삭제하기
>>> a = [123]
>>> del a[1]
>>> a
[13]
# 리스트에 요소 추가
>>> a = [123]
>>> a.append(4)
>>> a
[1234]
# 리스트 정렬(sort)
>>> a = [1432]
>>> a.sort()
>>> a
[1234]
# 리스트 뒤집기(reverse)
>>> a = ['a''c''b']
>>> a.reverse()
>>> a
['b''c''a']
# 리스트에서 특정문자 위치 찾기
>>> a = [1,2,3]
>>> a.index(3)
2
>>> a.index(1)
0
# 리스트 요소 삽입
>>> a = [123]
>>> a.insert(04)
>>> a
[4123]
# 리스트 요소 제거
>>> a = [123123]
>>> a.remove(3)
>>> a
[12123]
# 리스트요소 끄집어 내기
>>> a = [1,2,3]
>>> a.pop()
3
>>> a
[12]
 
cs

 

▶ 튜플

리스트와 거의 흡사하며, 리스트와 차이점이라면 소괄호로 둘러싼다는 점과 값의 수정이 불가하다는 점이 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 튜플의 양식
>>> t1 = ()
>>> t2 = (1,)
>>> t3 = (123)
>>> t4 = 123
>>> t5 = ('a''b', ('ab''cd'))
# 튜플 인덱싱
>>> t1 = (12'a''b')
>>> t1[0]
1
>>> t1[3]
'b'
# 튜플 슬라이싱
>>> t1 = (12'a''b')
>>> t1[1:]
(2'a''b')
# 튜플 길이 구하기
>>> t1 = (12'a''b')
>>> len(t1)
4
cs

 

▶ 딕셔너리

key와 value로 이루어져 있으며, 자바스크립트의 객체형식을 떠올리면 이해하기 쉽다. 딕셔너리는 기본적으로 {Key1:Value1, Key2:Value2, Key3:Value3 ..}와 같은 형태를 가지고 있으며, 각 key:value는 쉼표(,)로 구분한다. 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 딕셔너리 추가
>>> a = {1'a'}
>>> a[2= 'b'
>>> a
{1'a'2'b'}
# 딕셔너리 삭제
>>> del a[1]
>>> a
{2'b''name''pey'3: [123]}
# 딕셔너리에서 Key로 Value 호출
>>> grade = {'pey'10'julliet'99}
>>> grade['pey']
10
>>> grade['julliet']
99
# Key값들만 호출
>>> a = {'name''pey''phone''0119993323''birth''1118'}
>>> a.keys()
dict_keys(['name''phone''birth'])
# Value값들만 호출
>>> a.values()
dict_values(['pey''0119993323''1118'])
# Key, Value 둘다 호출(items)
>>> a.items()
dict_items([('name''pey'), ('phone''0119993323'), ('birth''1118')])
cs

 

▶ 집합

집합 자료형은 중복이 없으며, 순서가 없다는 특징을 가지고 있다. 순서가 없으니 당연히 인덱싱 기능이 없다. 인덱싱을 쓰고 싶다면, 리스트나 튜플로 변환후 사용해야 한다. 집합 자료형은 a = set([1,2,3]) 과 같이 만들 수 있다. 집합의 성질을 가지니 당연히 교집합(&), 합집합(|), 차집합(-)을 구할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 집합 정의
>>> s1 = set([123456])
>>> s2 = set([456789])
# 교집합
>>> s1 & s2
{456}
>>> s1.intersection(s2)
{456}
# 합집합
>>> s1 | s2
{123456789}
>>> s1.union(s2)
{123456789}
# 차집합
>>> s1 - s2
{123}
>>> s2 - s1
{897}
>>> s1.difference(s2)
{123}
>>> s2.difference(s1)
{897}
cs

 

▶ 불

불 자료형은 참 또는 거짓을 나타내는 자료형이다. 다른 자료형에 대해서도 참 거짓을 표현할 수 있는데, 이는 다음과 같다.

Boolean
"@@" True
"" False
[@,@,@] True
[] False
() False
{} False
1 True
0 False
None False

 

댓글