1
00:00:00,000 --> 00:00:06,000
이제 저의 실습으로 넘어가 보도록 하겠습니다.
2
00:00:06,000 --> 00:00:12,000
저희 먼저 딕셔너리 아세트 중에 딕셔너리 먼저 다루어 볼 예정인데요.
3
00:00:12,000 --> 00:00:14,000
딕셔너리 어떤 거라고 했죠?
4
00:00:14,000 --> 00:00:18,000
리스트나 튜블처럼 순차적으로 해당 요소 값을 구하지 않고
5
00:00:18,000 --> 00:00:21,000
키를 통해서 밸류를 얻는다 라고 했습니다.
6
00:00:21,000 --> 00:00:26,000
먼저 저희가 요소가 없는, 비어있는 딕셔너리 한번 만들어 볼까요?
7
00:00:27,000 --> 00:00:32,000
a라는 변수를 하나 만들고 비어있는 딕셔너리를 만들기 위해서
8
00:00:32,000 --> 00:00:35,000
이렇게 괄호를 써주시면 되겠습니다.
9
00:00:35,000 --> 00:00:39,000
중괄호인데요. 프린트 a를 또 한번 해볼까요?
10
00:00:39,000 --> 00:00:44,000
그리고 프린트 타입도 확인해 보겠습니다.
11
00:00:44,000 --> 00:00:47,000
보시면 비어있는 딕셔너리가 생성이 되었고요.
12
00:00:47,000 --> 00:00:52,000
dict라고 해서 딕셔너리다 라고 타입을 알려주고 있습니다.
13
00:00:52,000 --> 00:00:58,000
딕셔너리 생성을 하고 접근하는 방법을 한번 보도록 하겠습니다.
14
00:00:58,000 --> 00:01:04,000
이번에 딕셔너리 안에는 저희가 총 3개의 요소들을 넣어 볼 거예요.
15
00:01:04,000 --> 00:01:06,000
3개의 쌍을 넣어 보겠습니다.
16
00:01:06,000 --> 00:01:16,000
myDict 라고 한 다음에 여기에다가는 name에다가 kim
17
00:01:17,000 --> 00:01:22,000
그리고 이 value 한 쌍이 작성이 된 다음에는
18
00:01:22,000 --> 00:01:24,000
심표를 꼭 사용을 해주셔야 합니다.
19
00:01:24,000 --> 00:01:29,000
그래서 age라고 적고 25
20
00:01:29,000 --> 00:01:35,000
다음에 city라고 적고
21
00:01:38,000 --> 00:01:41,000
이렇게 적어 보도록 하겠습니다.
22
00:01:41,000 --> 00:01:48,000
그 다음에 이 들어있는 요소들을 저희가 접근을 해서 출력을 해볼 수도 있는 거잖아요.
23
00:01:48,000 --> 00:01:51,000
그래서 어떻게 하는지 보도록 할게요.
24
00:01:51,000 --> 00:01:57,000
프린트를 할 때 myDict에 들어있는 내용 중에서
25
00:01:57,000 --> 00:02:02,000
저희가 접근할 요소에 키값을 적어주면 된다고 했었죠.
26
00:02:02,000 --> 00:02:06,000
그래서 만약에 이름을 저희가 출력을 하고 싶다라고 하면
27
00:02:06,000 --> 00:02:09,000
여기에 name 키값을 적어 주시면 되고요.
28
00:02:09,000 --> 00:02:13,000
그 다음 age도 확인을 하고 싶다라고 하면
29
00:02:13,000 --> 00:02:19,000
myDict에 age라고 이렇게 적으시면 됩니다.
30
00:02:19,000 --> 00:02:22,000
여기 가로를 꼭 잘 닫아 주셔야 합니다.
31
00:02:22,000 --> 00:02:29,000
이렇게 하시면 kim과 25 이렇게 두 가지의 값이 출력이 되는 걸 확인할 수 있습니다.
32
00:02:29,000 --> 00:02:33,000
딕셔너리 쌍과 키값 추가하기 입니다.
33
00:02:33,000 --> 00:02:38,000
이번에는 어떻게 저희가 값을 추가할 수 있는지 한번 살펴볼게요.
34
00:02:38,000 --> 00:02:43,000
여기서는 a에다가 저희가 딕셔너리를 만드는데
35
00:02:43,000 --> 00:02:49,000
1이라는 키를 가지고 있고 밸류로는 a가 들어있습니다.
36
00:02:49,000 --> 00:02:54,000
이렇게 한 다음에 이번에 저희가 추가할 것은
37
00:02:54,000 --> 00:03:01,000
b, a에다가 딕셔너리 a에다가 두 번째 요소를 추가하겠다라고 해서
38
00:03:01,000 --> 00:03:03,000
이렇게 적어 주시면 되는데요.
39
00:03:03,000 --> 00:03:10,000
그 다음에 저희가 추가할 값, 이번에는 b를 추가하겠다, 밸류로는 b를 추가하겠다 이렇게 적으시고요.
40
00:03:10,000 --> 00:03:13,000
print a를 한번 해 보겠습니다.
41
00:03:13,000 --> 00:03:22,000
이렇게 하시면 지금 키가 두 개, 밸류가 두 개, 이렇게 총 두 개의 쌍이 생성이 되어 있고요.
42
00:03:22,000 --> 00:03:28,000
자 기억하실 점은 보시면 문자열로 저희 넣었습니다.
43
00:03:28,000 --> 00:03:34,000
그래서 이렇게 따옴표 찍어 줬다라는 거 한번 더 기억하시면 좋겠습니다.
44
00:03:34,000 --> 00:03:37,000
밸류 리스트 추가하기 인데요.
45
00:03:37,000 --> 00:03:41,000
이번에는 밸류로 한번 리스트를 추가해 볼게요.
46
00:03:41,000 --> 00:03:47,000
이미 생성된 이 리스트에 현재는 이렇게 두 개의 쌍이 들어있는 상태인 거죠.
47
00:03:47,000 --> 00:03:51,000
여기에다가 리스트를 한번 추가해 보겠습니다.
48
00:03:51,000 --> 00:03:55,000
여기에다가 키값으로는 3이라고 넣을 거고요.
49
00:03:56,000 --> 00:04:02,000
그리고 여기에다가 리스트의 형태로 1, 2, 3이라고 값을 추가하겠습니다.
50
00:04:02,000 --> 00:04:09,000
그리고 print a를 해보면 이렇게 마지막 부분에 3이라는 키값을 가지고 있는 곳에
51
00:04:09,000 --> 00:04:14,000
리스트의 형태로 1, 2, 3이라는 밸류가 들어가는 걸 볼 수 있습니다.
52
00:04:14,000 --> 00:04:19,000
그 다음은 딕셔너리 값을 수정을 한번 해 보도록 할게요.
53
00:04:19,000 --> 00:04:24,000
여기에서는 myDict라고 저희가 만들 거고요.
54
00:04:24,000 --> 00:04:49,000
여기에다가 name에다가는 Alice 그리고 age에다가는 25 그리고 city에다가는 New York이라고 이렇게 넣겠습니다.
55
00:04:49,000 --> 00:04:55,000
여기 다운표로 잘 닫아주시고 중간으로 이렇게 잘 닫아주신 다음에
56
00:04:55,000 --> 00:05:03,000
여기 지금 보시면 여기도 잘 다운표로 잘 닫아주시고 이렇게 하시면 됩니다.
57
00:05:03,000 --> 00:05:06,000
여기서 저희가 print를 하나 더 하겠습니다.
58
00:05:06,000 --> 00:05:12,000
print myDict 방금 만들었던 딕셔너리를 저희가 출력을 해 볼게요.
59
00:05:12,000 --> 00:05:16,000
이렇게 하시면 내용이 정확히 잘 들어간 상태이고요.
60
00:05:16,000 --> 00:05:20,000
이곳에다가 지금 값을 수정을 할 거잖아요.
61
00:05:20,000 --> 00:05:28,000
25이라고 되어 있는 저 age, 키값이 age고 밸류가 25인 곳을 저희가 26으로 변경하고자 합니다.
62
00:05:28,000 --> 00:05:39,000
그래서 myDict라는 곳에 지금 들어 있는 키값이 age인 곳의 밸류를 이렇게 수정할 거야라고 적어주는 겁니다.
63
00:05:39,000 --> 00:05:46,000
그래서 여기다가 26이라고 적으면 한번 출력해 볼까요. 잘 수정이 되었나.
64
00:05:46,000 --> 00:05:49,000
myDict라고 쓰겠습니다.
65
00:05:49,000 --> 00:05:55,000
이렇게 작성하시면 25이 26으로 변경이 된 걸 볼 수 있습니다.
66
00:05:55,000 --> 00:05:59,000
딕셔너리 값 추가 및 수정하기인데요.
67
00:05:59,000 --> 00:06:04,000
업데이트라는 게 있었어요. 업데이트를 사용을 한번 해 보도록 하겠습니다.
68
00:06:05,000 --> 00:06:14,000
a라는 곳에다가 a라는 키값을 가지고 밸류가 1이고요.
69
00:06:14,000 --> 00:06:18,000
b라는 키값에는 2가 들어있는 상태입니다.
70
00:06:18,000 --> 00:06:24,000
이렇게 해서 딕셔너리 하나를 만들었고 추가할 딕셔너리 하나 추가해 볼게요.
71
00:06:24,000 --> 00:06:29,000
작성을 해 보겠습니다. 추가할 딕셔너리 이렇게 한번 적어 드릴게요.
72
00:06:29,000 --> 00:06:40,000
b라는 곳에다가 b에는 3이 들어있고 c에는 4가 들어있다고 이렇게 작성을 하겠습니다.
73
00:06:40,000 --> 00:06:49,000
그래서 a에 들어있는 내용을 업데이트 하겠다고 해서 a성을 찍고 업데이트를 한 다음에
74
00:06:49,000 --> 00:06:55,000
어떤 내용을 가져다 업데이트 할 거냐. b에 들어있는 내용을 사용해서 업데이트 하겠다고 이렇게 씁니다.
75
00:06:55,000 --> 00:07:04,000
그리고 print a를 하시면 이렇게 지금 기존에 들어있던 키값의 밸류는 3으로 수정이 된 거고요.
76
00:07:04,000 --> 00:07:14,000
새로운 키값은 추가가 되어서 이렇게 총 3개의 쌍이 들어있는 딕셔너리가 출력이 되는 걸 확인할 수 있습니다.
77
00:07:14,000 --> 00:07:19,000
다음으로 넘어가서요. 이번에는 딕셔너리 삭제하기 입니다.
78
00:07:19,000 --> 00:07:27,000
사용할 수 있는 것 3가지가 있다고 했어요. Dell이 있었고 Clear, Pop 이렇게 3개가 있었습니다.
79
00:07:27,000 --> 00:07:38,000
먼저 보시면 Dell을 살펴보겠습니다. 딕셔너리 이름을 쓰고 키값을 써서 그 안에 있는 요소를 제거하는 거잖아요.
80
00:07:39,000 --> 00:07:44,000
지금 저희 여기서 작성했던 내용을 복붙해볼까요?
81
00:07:44,000 --> 00:07:52,000
여기 보시면 MyDict 가져다가 복붙을 하겠습니다.
82
00:07:52,000 --> 00:07:58,000
MyDict의 Name Alice Age 25 City NY 이렇게 적혀있었는데요.
83
00:07:58,000 --> 00:08:10,000
여기서 지금 삭제하려고 하는 것은 MyDict City를 삭제하겠다 라고 키값을 줍니다.
84
00:08:10,000 --> 00:08:22,000
City를 삭제하고 print MyDict를 해보게 되면 이렇게 City가 제거가 되고 나머지 2개의 쌍이 들어있는 딕셔너리가 반환이 됩니다.
85
00:08:23,000 --> 00:08:29,000
그러면 저희가 또 보고자 하는 것은 Dell MyDict 입니다.
86
00:08:29,000 --> 00:08:35,000
딕셔너리 이름을 그대로 전달해서 딕셔너리 자체를 제거를 하는 건데요.
87
00:08:35,000 --> 00:08:40,000
Dell MyDict를 하고 그리고 나서 MyDict를 출력을 해볼까요?
88
00:08:41,000 --> 00:08:54,000
MyDict라고 이렇게 적으시면 MyDict라는 이름을 가진 지금 변수가 더이상 존재하지 않기 때문에 에러가 발생하는 걸 볼 수 있습니다.
89
00:08:54,000 --> 00:08:56,000
잘 제거가 되었다라는 거죠.
90
00:08:56,000 --> 00:08:58,000
위에서는 잘 출력됐었잖아요.
91
00:08:58,000 --> 00:09:05,000
이렇게 Dell MyDict라고 Dell을 사용하시면 딕셔너리 자체가 제거가 된다라는 점입니다.
92
00:09:05,000 --> 00:09:08,000
이번에는 Clear 한번 써보도록 할게요.
93
00:09:08,000 --> 00:09:13,000
이거는 딕셔너리 이름을 적고 Clear를 써주면 되는 건데요.
94
00:09:13,000 --> 00:09:15,000
이번에는 MyDict
95
00:09:18,000 --> 00:09:23,000
여기 Name에다가 Alice
96
00:09:25,000 --> 00:09:30,000
그리고 Age에다가 25
97
00:09:31,000 --> 00:09:38,000
그리고 City에다가는 NY라고 넣겠습니다.
98
00:09:38,000 --> 00:09:46,000
여기 있는 지금 요소 중에서 저희가 이거를 전체를 삭제하겠다라는 거잖아요.
99
00:09:46,000 --> 00:09:50,000
그래서 딕셔너리 이름인 MyDict를 쓰고요.
100
00:09:50,000 --> 00:09:53,000
점을 찍고 Clear를 합니다.
101
00:09:53,000 --> 00:09:57,000
이렇게 한 다음에 MyDict를 한번 프린트 해보겠습니다.
102
00:09:58,000 --> 00:10:07,000
보시면 안에 들어있던 내용이 모두 제거가 되고 비어있는 딕셔너리만 반환되는 걸 볼 수 있습니다.
103
00:10:07,000 --> 00:10:12,000
그 다음에 팝도 있는데요. 팝도 한번 써보겠습니다.
104
00:10:12,000 --> 00:10:16,000
여기서는 지금 저희가 Fruit라는 걸 만들 거예요.
105
00:10:17,000 --> 00:10:21,000
여기에다가는 Apple
106
00:10:21,000 --> 00:10:24,000
여기에다가는 사과
107
00:10:24,000 --> 00:10:27,000
그리고 바나나
108
00:10:27,000 --> 00:10:30,000
여기에다가는 바나나
109
00:10:30,000 --> 00:10:32,000
한국어로 적어주고요.
110
00:10:32,000 --> 00:10:36,000
영어로 Kiwi라고 적은 다음에
111
00:10:36,000 --> 00:10:41,000
여기에다가는 한국어로 Kiwi라고 이렇게 적을게요.
112
00:10:42,000 --> 00:10:46,000
이렇게 해서 지금 3개의 쌍이 들어있는 딕셔너리를 만들었고요.
113
00:10:46,000 --> 00:10:48,000
제거를 할 건데요.
114
00:10:48,000 --> 00:10:55,000
Removed라고 저희가 변수를 하나 만들어서 제거된 내용이 그 안에 들어가도록 할당되도록 할 겁니다.
115
00:10:55,000 --> 00:10:59,000
Fruit라고 해서 팝을 하는데
116
00:10:59,000 --> 00:11:05,000
바나나를 꺼낼 겁니다. 바나나를 제거하겠다라고 해서 이렇게 적어주시고
117
00:11:06,000 --> 00:11:08,000
그 다음 프린트
118
00:11:09,000 --> 00:11:15,000
각각 Removed도 저희가 프린트를 해보고 Fruit도 프린트 해보겠습니다.
119
00:11:18,000 --> 00:11:22,000
이렇게 출력을 한번 해보도록 할 텐데요.
120
00:11:22,000 --> 00:11:27,000
보시면 제거된 내용인 바나나 정확히 잘 출력되고 있고요.
121
00:11:27,000 --> 00:11:31,000
남아있는 쌍, 2개의 쌍
122
00:11:31,000 --> 00:11:40,000
그래서 애플과 키위 이렇게 두 가지 요소도 딕셔너리 안에 정확하게 들어있는 상태로 출력이 됩니다.
123
00:11:40,000 --> 00:11:45,000
딕셔너리 다루는 방법 또 다른 것들 한번 살펴볼게요.
124
00:11:45,000 --> 00:11:53,000
여기서 사용할 수 있는 것은 지금 딕셔너리의 모든 키를 리스트 형태로 반환해준다라고 합니다.
125
00:11:53,000 --> 00:11:58,000
어떻게 요소들을 꺼내서 볼 수 있는지 한번 보도록 하겠습니다.
126
00:11:58,000 --> 00:12:02,000
Nations라고 저희가 변수를 만들 거고요.
127
00:12:02,000 --> 00:12:09,000
여기에다가 Korea 이거는 한국이라고 적고요.
128
00:12:09,000 --> 00:12:17,000
그 다음 Japan이라고 적고 여기에다가는 일본
129
00:12:17,000 --> 00:12:27,000
그리고 China라고 적은 다음에 여기에다가는 중국이라고 넣겠습니다.
130
00:12:27,000 --> 00:12:30,000
여기에서 프린트를 하는데요.
131
00:12:30,000 --> 00:12:34,000
여기 안에 있는 요소들을 모두 꺼내서 보려고 하는 거예요.
132
00:12:34,000 --> 00:12:40,000
Nations라고 적은 다음에 점을 찍고 Keys라고 이렇게 적으면
133
00:12:40,000 --> 00:12:44,000
키들만 추출을 해서 확인을 할 수 있는 겁니다.
134
00:12:44,000 --> 00:12:48,000
이렇게 작성을 하신 다음에 실행을 해보면
135
00:12:48,000 --> 00:12:55,000
여기에 들어있는 값들 중에 키 값만 반환을 해주는 걸 볼 수 있습니다.
136
00:12:55,000 --> 00:13:00,000
그 다음 Value를 한번 써볼텐데요.
137
00:13:00,000 --> 00:13:04,000
Value를 리스트 형태로 반환을 해준다고 합니다.
138
00:13:04,000 --> 00:13:09,000
여기에서 지금 보시면 위에서 Nations 만들었잖아요.
139
00:13:09,000 --> 00:13:11,000
이 Nations 그대로 가져다 쓸 거고요.
140
00:13:11,000 --> 00:13:16,000
프린트를 하는데 Nations에서
141
00:13:16,000 --> 00:13:19,000
이번에는 저희가 사용할 게 Value잖아요.
142
00:13:19,000 --> 00:13:23,000
이렇게 Value라고 적어준 다음에 출력을 해보면
143
00:13:24,000 --> 00:13:26,000
지금 세 가지가 있었죠?
144
00:13:26,000 --> 00:13:31,000
한국, 일본, 중국 이렇게 반환이 되는 걸 확인할 수 있습니다.
145
00:13:31,000 --> 00:13:33,000
다음은 Dictionary입니다.
146
00:13:33,000 --> 00:13:37,000
Dictionary의 Items입니다.
147
00:13:37,000 --> 00:13:43,000
먼저 여기서 저희가 쓸 거는 똑같이 Nations 가져다 쓸 거고요.
148
00:13:43,000 --> 00:13:46,000
프린트 Nations 점 찍고
149
00:13:46,000 --> 00:13:51,000
여기서 쓸 거는 Items라고 이렇게 써주시면 되는데요.
150
00:13:51,000 --> 00:13:54,000
그러면 여기에 들어있는 요소
151
00:13:54,000 --> 00:14:00,000
각각의 이 쌍들을 튜플의 형태로 묶어서 이렇게 반환을 해주고 있습니다.
152
00:14:00,000 --> 00:14:03,000
이 전체 요소는 리스트 형태로 반환을 하고 있고요.
153
00:14:03,000 --> 00:14:10,000
이 안에 있는 것, 코리아와 한국, 재팬과 일본, 차이나와 중국이 이렇게 묶여있다고 묶어줍니다.
154
00:14:10,000 --> 00:14:14,000
이렇게 되어서 반환이 되는 걸 확인할 수 있습니다.
155
00:14:14,000 --> 00:14:17,000
그래서 필요에 따라서 만약에 키 값이 필요한지
156
00:14:17,000 --> 00:14:21,000
Value가 필요한지 아니면 두 개의 모든 값이 필요한지에 따라서
157
00:14:21,000 --> 00:14:26,000
여기에 사용되는 메소드들을 사용할 수 있겠습니다.
158
00:14:26,000 --> 00:14:28,000
다음은 Set인데요.
159
00:14:28,000 --> 00:14:33,000
이번에는 Set의 빈 Set를 먼저 만들어 보도록 하겠습니다.
160
00:14:33,000 --> 00:14:38,000
저희 집 탑을 생성할 때는 중가루를 사용해서 생성을 한다고 했는데
161
00:14:38,000 --> 00:14:42,000
중요한 건 비어있는 Set도 중가루를 사용했었나요?
162
00:14:42,000 --> 00:14:44,000
아니었죠.
163
00:14:44,000 --> 00:14:48,000
중가루를 사용하게 되면 Dictionary가 생성이 되었습니다.
164
00:14:48,000 --> 00:14:52,000
그렇기 때문에 여기서는 중가루가 아니라 이렇게 할 수 있는데요.
165
00:14:52,000 --> 00:14:56,000
a라는 변수에다가 Set라고 적고요.
166
00:14:56,000 --> 00:14:59,000
가로 열고 가로 닫고 이렇게 해주시면 됩니다.
167
00:14:59,000 --> 00:15:02,000
Print a를 한번 해보고요.
168
00:15:02,000 --> 00:15:08,000
Print type, 이렇게 a를 넣어서 type도 확인해 보겠습니다.
169
00:15:08,000 --> 00:15:15,000
Set a라는 지금 집합 자료가 정확하게 출력이 되고 있고요.
170
00:15:15,000 --> 00:15:20,000
이거는 Set형이다 라고 정확히 반환을 해주고 있습니다.
171
00:15:20,000 --> 00:15:25,000
다음으로는 리스트를 집합으로 변형을 하는 겁니다.
172
00:15:25,000 --> 00:15:29,000
S1이라고 변수를 한번 만들어 볼게요.
173
00:15:29,000 --> 00:15:38,000
S1에다가 Set 그리고 1, 2, 3 이라고 요소를 한번 넣어 보겠습니다.
174
00:15:38,000 --> 00:15:44,000
그러면 S1에 있는 자료를 한번 프린트 해볼까요?
175
00:15:44,000 --> 00:15:54,000
그러면 이렇게 원래는 리스트였지만 이게 집합의 형태, Set의 형태로 변형이 되어서 반환이 되는 걸 볼 수 있습니다.
176
00:15:54,000 --> 00:15:58,000
문자열도 집합으로 변형할 수 있다고 했어요.
177
00:15:58,000 --> 00:16:00,000
어떻게 하는지 볼까요?
178
00:16:00,000 --> 00:16:10,000
S2라고 변수를 만들고 Set를 쓰고 그리고 이 안에다가 문자열 Hello를 넣어주겠습니다.
179
00:16:10,000 --> 00:16:21,000
Print S2를 해보고 그 다음 Print type도 확인해 보겠습니다.
180
00:16:21,000 --> 00:16:25,000
이렇게 지금 들어있는 내용, 순서가 없다고 했었잖아요.
181
00:16:25,000 --> 00:16:28,000
그래서 순서가 이렇게 섞여서 나오게 되는 겁니다.
182
00:16:28,000 --> 00:16:33,000
보시면 중복되는 내용은 제거가 된다고 했었죠?
183
00:16:33,000 --> 00:16:41,000
그렇기 때문에 OLEH, 그래서 L이 두 개였는데 하나만 나타나는 걸 볼 수 있습니다.
184
00:16:41,000 --> 00:16:45,000
교집합도 한번 다루어 보겠습니다.
185
00:16:45,000 --> 00:16:50,000
A에도 속하고 B에도 속하는 원소들을 골라놓은 집합이라고 했고
186
00:16:50,000 --> 00:16:53,000
그렇기 때문에 End 연산자 쓸 수 있다고 했는데요.
187
00:16:53,000 --> 00:17:03,000
먼저 Set A에다가는 10, 20, 30, 40, 50, 60을 넣고요.
188
00:17:03,000 --> 00:17:16,000
그 다음 Set B에다가는 50, 60, 70, 80, 90 그리고 100까지 넣어보겠습니다.
189
00:17:16,000 --> 00:17:27,000
여기서 Print 하는데 Set A 그리고 Set B 이렇게 작성을 하시면
190
00:17:27,000 --> 00:17:33,000
A에도 속하고 B에도 속하는 내용이 출력이 되는 건데요.
191
00:17:33,000 --> 00:17:35,000
한번 출력해 보겠습니다.
192
00:17:35,000 --> 00:17:41,000
그래서 중복되는 내용인 50과 60이 출력되는 걸 확인할 수 있습니다.
193
00:17:41,000 --> 00:17:44,000
여기서는 지금 Intersection도 한번 써볼게요.
194
00:17:44,000 --> 00:17:47,000
Set C에다가요.
195
00:17:47,000 --> 00:17:55,000
Set A, Intersection을 하는데 Set B의 내용을 가져다가
196
00:17:55,000 --> 00:17:59,000
Set A와 Set B의 교집합을 구하겠다.
197
00:17:59,000 --> 00:18:04,000
그리고 그 구해진 값을 Set C에다 넣겠다라는 문장입니다.
198
00:18:04,000 --> 00:18:11,000
여기에서 Set C에 들어간 내용 확인하기 위해서 이렇게 Print를 한번 해보겠습니다.
199
00:18:11,000 --> 00:18:19,000
이렇게 하시면 50과 60 똑같이 잘 리턴이 되는 걸 확인할 수 있습니다.
200
00:18:19,000 --> 00:18:22,000
다음으로는 합집합입니다.
201
00:18:22,000 --> 00:18:27,000
A에 속하거나 B에 속하는 원소들로 이루어진 집합이라고 했고요.
202
00:18:27,000 --> 00:18:33,000
여기서 Vertical Bar을 쓸 수 있고 Union 메소드를 쓸 수 있는데요.
203
00:18:33,000 --> 00:18:37,000
Vertical Bar라고 하면 엔터키 위에 있습니다.
204
00:18:37,000 --> 00:18:45,000
엔터키 바로 위에 있는데 이걸 Shift 키를 누르시고 이 버튼을 누르시면 생성이 됩니다.
205
00:18:45,000 --> 00:18:48,000
한번 저희가 먼저 써보도록 하겠습니다.
206
00:18:48,000 --> 00:18:52,000
위에 있는 숫자를 그대로 가져다가 쓸 거니까요.
207
00:18:52,000 --> 00:18:56,000
Set A와 Set B 그대로 복붙하시고요.
208
00:18:56,000 --> 00:19:06,000
Print Set A 그리고 Vertical Bar을 쓰신 다음에 Set B 이렇게 써주시면
209
00:19:06,000 --> 00:19:15,000
지금 A에도 속하고 B에도 속하는 모든 원소들로 이루어진 집합을 반환해줍니다.
210
00:19:15,000 --> 00:19:20,000
그리고 이거를 저희가 Union이라는 걸 가져다가 쓸 수 있다고 했죠.
211
00:19:20,000 --> 00:19:22,000
Union 메소드를 쓸 수 있는데
212
00:19:22,000 --> 00:19:29,000
Set C를 만든 다음에 Set A에 있는 내용 Union을 하겠다라고 적어주고
213
00:19:29,000 --> 00:19:36,000
Set B라고 적어주신 다음에 Print Set C를 해보겠습니다.
214
00:19:36,000 --> 00:19:40,000
이렇게 하면 결과가 똑같이 나오는 걸 확인할 수 있습니다.
215
00:19:40,000 --> 00:19:42,000
차집합이라고 하는데요.
216
00:19:42,000 --> 00:19:51,000
이번에는 이거는 한 집합에서 다른 집합의 요소를 뺀 새로운 집합을 생성하는 집합 연산이라고 했습니다.
217
00:19:51,000 --> 00:19:59,000
그래서 여기서도 마찬가지로 위에서 저희가 작성했던 숫자들 Set A와 Set B를 가져다 쓸 거고요.
218
00:19:59,000 --> 00:20:10,000
여기서는 먼저 저희가 프린트를 할 때 Set A에서 Set B를 뺀 경우와
219
00:20:10,000 --> 00:20:18,000
Print Set B에서 Set A를 뺀 경우 이렇게 두 가지로 나누어서 보겠습니다.
220
00:20:18,000 --> 00:20:25,000
그래서 40, 10, 20, 30, 80, 90, 100, 70 이렇게 각각 나타나는 걸 확인할 수 있고요.
221
00:20:25,000 --> 00:20:33,000
여기서도 마찬가지로 Set C를 한번 만들어서 저기 보이시는 Difference를 가져다가 한번 써보도록 하겠습니다.
222
00:20:33,000 --> 00:20:45,000
Set C에다가 Set A.Difference를 해서 Set B에서 Difference를 하겠다.
223
00:20:45,000 --> 00:20:52,000
차집합을 구하겠다라고 이렇게 적은 다음에 Print Set C를 하겠습니다.
224
00:20:52,000 --> 00:20:59,000
그러면 이렇게 A에서 B를 뺀 경우와 똑같이 나타나는 걸 확인할 수 있고요.
225
00:20:59,000 --> 00:21:16,000
자 반대로 Set C에다가 Set B.Difference를 해서 Set A 이렇게 적으시면 Print Set C 해볼게요.
226
00:21:16,000 --> 00:21:25,000
이러면 여기 두 번째 마이너스 연산 했던 것처럼 B에서 A를 뺐던 것처럼 이렇게 같은 결과가 나타나는 걸 확인할 수 있습니다.
227
00:21:25,000 --> 00:21:32,000
자 다음은 집합 레서드 저희가 사용할 수 있는 것들 Add와 Discard, Remove 이렇게 있었는데요.
228
00:21:32,000 --> 00:21:35,000
한번 저희가 이거를 살펴보도록 할게요.
229
00:21:35,000 --> 00:21:40,000
자 Fruits라고 하는 곳이에요.
230
00:21:40,000 --> 00:21:51,000
이번에는 포도, 딸기 이렇게 두 가지만 넣을게요.
231
00:21:51,000 --> 00:21:55,000
그리고 나서 Fruits에 추가할 거예요.
232
00:21:55,000 --> 00:22:01,000
Fruits에 Add이라고 쓴 다음에 추가할 내용을 적어주시면 되는데요.
233
00:22:01,000 --> 00:22:12,000
수박을 추가하겠다라고 이렇게 적어주신 다음에 Print Fruits를 출력하겠다라고 하시면
234
00:22:12,000 --> 00:22:18,000
포도, 딸기, 수박 이렇게 세 가지 요소가 들어있는 걸 볼 수 있습니다.
235
00:22:18,000 --> 00:22:23,000
자 다음에는 지금 Discard를 한번 사용을 해보겠습니다.
236
00:22:23,000 --> 00:22:28,000
자 Fruits라고 하는 곳에요.
237
00:22:28,000 --> 00:22:42,000
먼저 포도, 딸기, 수박 이렇게 세 가지 요소를 넣고요.
238
00:22:42,000 --> 00:22:48,000
자 Fruits에서 Discard를 할 거예요 이렇게 적어줍니다.
239
00:22:48,000 --> 00:22:55,000
자 제거를 할 건데 수박을 제거할 거예요 라고 씁니다.
240
00:22:55,000 --> 00:22:59,000
그 다음 출력을 한번 해볼까요?
241
00:22:59,000 --> 00:23:06,000
Fruits를 출력을 해보면 이렇게 수박이 제거가 되고 포도와 딸기가 나타나는 걸 볼 수 있습니다.
242
00:23:06,000 --> 00:23:12,000
자 Remove 같은 경우에도 마찬가지로 제거하는 데 사용할 수 있는데요.
243
00:23:15,000 --> 00:23:29,000
Fruits에서 포도, 딸기, 수박 이렇게 세 가지가 들어있고요.
244
00:23:30,000 --> 00:23:38,000
Fruits에서 Remove를 하는데 이번에는 포도 한번 지워볼까요?
245
00:23:38,000 --> 00:23:41,000
포도를 지워보겠습니다.
246
00:23:41,000 --> 00:23:47,000
Print Fruits를 프린트 해보겠습니다.
247
00:23:47,000 --> 00:23:51,000
이렇게 하면 딸기와 수박만 남아있는 거 보실 수 있으시죠?
248
00:23:51,000 --> 00:24:00,000
그래서 추가할 때는 Add를 그리고 제거할 때는 Discard와 Remove를 쓸 수 있다는 점 구분하시면 되겠습니다.
249
00:24:00,000 --> 00:24:06,000
여기서 한 가지 더 보여드릴 것은 Discard와 Remove의 차이인데요.
250
00:24:06,000 --> 00:24:10,000
왜냐하면 Discard도 제거가 되고 Remove도 제거가 되는 거였어요.
251
00:24:10,000 --> 00:24:15,000
도대체 어떤 차이점이 있길래 이렇게 두 가지가 존재하는 걸까요?
252
00:24:15,000 --> 00:24:17,000
저희가 하나씩 비교를 해볼게요.
253
00:24:17,000 --> 00:24:20,000
Discard를 먼저 한번 써보도록 하겠습니다.
254
00:24:20,000 --> 00:24:25,000
위에 지금 Fruits에는 현재 딸기와 수박만 남아있는 상태인 거죠.
255
00:24:25,000 --> 00:24:27,000
Fruits를 가져다가 써볼게요.
256
00:24:27,000 --> 00:24:36,000
Fruits에서 Discard를 할 때 없는 내용인 키위를 제거를 한번 해보도록 하겠습니다.
257
00:24:36,000 --> 00:24:45,000
그리고 Print Fruits를 프린트하겠다 이렇게 적어주시면
258
00:24:46,000 --> 00:24:53,000
없는 내용을 제거한다고 해도 아무 문제가 발생하지 않고 있죠.
259
00:24:53,000 --> 00:24:55,000
다음 하나 더 해보겠습니다.
260
00:24:55,000 --> 00:25:02,000
여기 있는 거 복붙해서 지금 Discard 대신에 Remove를 쓰는 거죠.
261
00:25:02,000 --> 00:25:06,000
Remove로 바꿔볼게요.
262
00:25:06,000 --> 00:25:13,000
우리가 이거를 Remove를 한다고 하면 이렇게 문제가 발생하게 됩니다.
263
00:25:13,000 --> 00:25:20,000
존재 여부를 모를 때 안전하게 삭제하고 싶다라고 하면 이렇게 Discard를 쓰시면 되고요.
264
00:25:20,000 --> 00:25:27,000
반드시 해당 값이 있어야만 삭제해야 한다라고 하는 경우에는 Remove를 쓰시면 됩니다.
265
00:25:27,000 --> 00:25:33,000
저희 오늘 이렇게 Dictionary와 Zip up 두 가지 컬렉션에 대해서 살펴보았는데요.
266
00:25:33,000 --> 00:25:39,000
두 가지 모두 중괄호를 사용했지만 들어있는 요소의 모양이 달랐었죠.
267
00:25:39,000 --> 00:25:48,000
이 부분 잘 기억하시고 비어있는 Dictionary와 비어있는 세트를 생성하는 방법 잘 기억해 두시면 좋겠습니다.