완전 초보라 어이 없을 수도 있는 질문임
집합 자료형에서 특정 값을 제외하고 싶으면 remove를 사용하잖아 만약에 둘 이상의 값을 지우고 싶으면 어떻게 해야되?
s1 = set([1,2,3,4,5])
s1.remove(2, 4)
이렇게 했더니
set.remove() takes exactly one argument (2 given)
1개의 값만 지울 수 있다고 하더라고 2개의 값을 지우려면 어떤 명령어를 사용해야 하는 거임?
완전 초보라 어이 없을 수도 있는 질문임
집합 자료형에서 특정 값을 제외하고 싶으면 remove를 사용하잖아 만약에 둘 이상의 값을 지우고 싶으면 어떻게 해야되?
s1 = set([1,2,3,4,5])
s1.remove(2, 4)
이렇게 했더니
set.remove() takes exactly one argument (2 given)
1개의 값만 지울 수 있다고 하더라고 2개의 값을 지우려면 어떤 명령어를 사용해야 하는 거임?
따로따로 해야지
아 그러면 remove 명령어를 2번 입력해야 되는 거구나 따로 몇 가지 값을 빼내는 명령어는 없는 거고
전체를 날리고 3개짜리로 재할당해라 ㅋㅋㅋㅋㅋㅋㅋ
아 그런 방법도 있겠네 고마워
뭘고마워야 미친놈아 ㅋㅋㅋㅋ
아 낚은 거임?
조건만들어다가 반복문돌려라 ㅋㅋㅋㅋㅋㅋㅋ
a = set([1, 2, 3, 4, 5]) ^ set([2, 4]) 근데 셋은 존나 느리다. 이거 쓰면 최적화 실패할 가능성 매우 높아짐.
루프 돌리는거보다야 빠름 ㅋㅋ
와 신기하다 ^넣으니까 되네 근데 내가 아직 공부한 지 2일 밖에 안돼서 셋이 느리다는 말이 뭐야? 유추해보면 코딩을 해서 프로그램을 만들 때 복잡한 코드면 시간을 잡아먹는 다는 소리야? 그래서 최적화가 잘 안되니까 왠만하면 이런 방법 쓰지 말라는 거고 그리고 ^넣었더니 2개의 값을 제거 할 수 있는 데 ^이게 의미하는 게 뭐야?
xor연산임. set을 쓰는 이유가 논리 연산이 되기 때문이야. 근데.. 이게 생성도 존나 느리고 해서 복잡한 효율성 있는 코테나오면 실패할 가능성이 매우 높음. 간단한건 쓰면 좋지.
아 구글링 해보니까 어떤 느낌인지는 알 거 같아 set자체가 논리 연산 때문에 쓰는 거기 때문에 한 가지를 제외하는 논리 연산은 쉽게 이루어 지는 데 2가지 이상을 제외하는 거는 베타적 연산으로 이루어져야 하니까 코드 자체가 꼬일 가능성이 있다 이런 말하는 거 같은 데 내가 이해한 게 비슷하게 맞을 까? 답변 친절하게 해줘서 고마워
아냐 그렇게 복잡한 이야기가 아니고. 그냥 느려. 생성자체가. 저걸로 해서 효율성 문제가 생겨버리면 다 엎어야함. 논리 연산을 할려고해도 계속 만들어서 비교할 수 밖에 없고 하니까.. 생성이 느리면 개선할 방법이 노답인거임.
이해했어 고마워
ㅋㅋㅋ - dc App