본문 바로가기

Programming/Python Tutorials

[PYTHON 3] Tutorials 18. Sets(중복제거)


안녕하세요. 이번 시간에는 Sets 에 대해서 알아보려고 합니다. Sets는 여러개의 리스트를 담는 일종의 그릇이라고 생각하면 되는데, 중복을 걸러내주는 역할을 합니다. 아래 예제로 다루겠지만, 마트에 가서 쇼핑을 해야 하는데 사야할 리스트가 있을겁니다. 그런데 품목이 여러개일 경우에 샀던 것을 또 살 경우가 있을 수 있습니다. 이럴 경우, 이미 리스트에 있는 것은 추가가 되지 않게 할 수 있는 프로그램을 만들 수 있어 편리하겠죠? 물론 다른 형태로 중복을 피할 수 있는 경우는 다반사일겁니다. 이럴경우에 사용하는 것이 파이썬에는 Sets 라고 합니다. 그럼 시작해 볼까요?


우선 사야할 쇼핑리스트 변수에 품목들을 쭈~욱 적습니다. 이 때, Curly Braket {} 으로 해야 합니다. 규칙이고 약속이니 지켜야겠죠. 그런데 리스트를 잘 보니 'milk', 'beer' 등 같은 품목이 존재하네요.

그런데, 출력을 해보니 같은 품목(중복된것)은 하나만 출력이 됩니다. 이러한 역할을 하는것이 Sets 입니다. 어떤 의미인지 쉽게 이해 되시죠?

그럼 이번에는 쇼핑리스트에 'milk'가 이미 있으면 있다는 문장을, 없으면 넣으면 된다는 문장을 띄워보도록 하겠습니다. 우선 이미 있으면 있다는 문장은 위와 같습니다.

쇼핑리스트에 없다면 넣어주면 된다는 문장을 출력하게 하였습니다.

결과를 확인해 볼까요? 실행을 시켜주니 'milk'라는 품목은 이미 있다고 나오네요.

그럼 이번에는 조금 순서를 바꿔볼까요? 어떤 품목을 넣을지 물어보게 하고 그 품목을 넣어보니, 이미 리스트에 있으면 있다고 알려주고, 없으면 넣으면 된다는 문장으로 알려주게 하려고 합니다. 위의 코드처럼 input() 을 이용하여 item이라는 변수에 품목을 넣게 하였습니다. 그리고 if 에서 앞의 'milk' 대신에 item 이라는 변수로 대체하였습니다.

실행을 시켜보니 무엇이 필요한지 물어보네요.

'milk'가 필요하다고 넣고 엔터를 쳐보겠습니다.

어랏. 이미 있다고 알려주네요.

그럼 다시 프로그램을 실행시켜서 'coffee'를 넣어보겠습니다.

그랬더니 이번에는 쇼핑리스트에 없으니 넣으면 된다고 친절히(?) 알려주는군요. 짱구(-__-;;)를 조금만 굴려보면 위의 코드를 실생활에서도 충분히 사용가능하게 수정하여 유용하게 쓸 수 있을 것입니다. 이번 시간은 여기까지입니다. 수고하셨습니다.