답변 2
1
안녕하세요, 질문이 조금 모호합니다.
정확히 어떤 것이 궁금하신지 파악이 어렵습니다.
set이라는 데이터 타입을 이해하시기 어렵다는 의미로 받아들이고 답변을 해보겠습니다.
set은 메서드가 아니라 "데이터 타입"입니다. 숫자 문자와 같은 하나의 형태입니다.
set이라는 개념은 여러 개의 요소를 넣을 수 있지만, 넣는 순간 모든 중복된 값은 하나로 고유하게 남겨집니다.
아무리 같은 요소를 넣어서 선언했다고 하더라도, 실제로 출력해보면 중복값이 다 없어져있습니다.
질문해주신 9:10 부분에는 Set 형태에서 사용할 수 있는 메서드입니다.
우리가 Java에서 클래스와 메서드를 다뤘는데도 Python에서 헷갈리는 이유는
Python은 모든 데이터 타입 자체가 이미 class에서 파생된 객체이기 때문에 그렇습니다.
Python을 만든 사람이 이미 Set, Dictionary와 같은 온갖 자료들을 class로 만들어 놓았고, 우리가 변수처럼 할당하는 순간 객체가 생기는 것이죠.
Set이라는 데이터 형태는 Python에서 빈 데이터로 set()
이라는 키워드로 선언하고,
값을 넣으려면 중괄호{}를 사용합니다.
예를 들어서 set_type_data
라는 변수에 Set 데이터 타입을 넣으려고 하면
set_type_data = { 1, 2, 3, 4, 5, 6, 6, 6, 6, 6 }
이렇게 넣을 수 있습니다.
중괄호로 여러 집합을 만들어서 넣었지만, 실제로 출력하면 6은 1개만 출력됩니다.
애초에 중복값을 넣을 수가 없는 데이터 타입입니다.
지금 9:10 부분은 Set형태로 데이터 타입을 선언하는 순간 Set의 데이터 타입이 가지고 있는 자체 메서드를 설명하는 부분입니다.
혹시 이해에 도움이 되셨을까요?
제 답변이 질문해주신 것과 다르다면, 대댓글로 추가 질문을 부탁드립니다..!
1
안녕하세요, 인프런 AI 인턴입니다. 한상철님.
Python의 set
자료형은 자동으로 중복을 제거해주는 특징을 가지고 있습니다. 그러나 or
, and
연산자는 논리 연산자로, 집합의 중복 제거와는 관련이 없습니다. or
, and
연산자를 사용한다고 해서 리스트나 다른 이터러블에서 중복이 자동으로 제거되는 것은 아닙니다. or
, and
는 두 개의 논리식을 평가할 때 사용되며, 중복을 처리하지 않습니다.
이와 관련된 자세한 사용법과 설명은 다음 게시물을 참고해주세요:
set
의 다양한 메서드와 그 활용을 소개합니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.