나도 궁금해서 찾아봤는데 immuatable 과 mutable 차이라고 하네 찾아보려면 찾아보고 대충 설명하자면 리스트는 주소만 알면 값 변경가능 -> 새로 생성할 필요가 없음 근데 str,int타입 같은 경우는 값 변경이 불가능하고 변경하려고 하면 새로운 객체를 생성하기 때문에 메모리를 더 먹는다고 함 ex) a = 10과 a = 11을 선언하면 a = 10 실행할때 객체가 생성되고 a = 11 실행할때 기존 a객체가 소멸되고 새로운 a객체가 다시 만들어짐
후자는 boyer-moore-horspool 등을 쓴다고 하네.
https://stackoverflow.com/questions/18139660/python-string-in-operator-implementation-algorithm-and-time-complexity
http://www.secmem.org/blog/2021/08/18/fastsearch/
전자는
글쎄... 리스트의 원소인지 아닌지만 체크하려면, 해시만 써도 되지 않을까? 나도 잘 모르겠네
https://stackoverflow.com/questions/4806911/how-are-strings-compared
그냥
한 글자 한 글자 비교하는 건가봐... 그래도 후자보다는 오버헤드가 적은가봐 ㅇㅇ
나도 궁금해서 찾아봤는데 immuatable 과 mutable 차이라고 하네 찾아보려면 찾아보고 대충 설명하자면 리스트는 주소만 알면 값 변경가능 -> 새로 생성할 필요가 없음 근데 str,int타입 같은 경우는 값 변경이 불가능하고 변경하려고 하면 새로운 객체를 생성하기 때문에 메모리를 더 먹는다고 함 ex) a = 10과 a = 11을 선언하면 a = 10 실행할때 객체가 생성되고 a = 11 실행할때 기존 a객체가 소멸되고 새로운 a객체가 다시 만들어짐