파이썬에는 any와 all이 있습니다. 최근에 배웠던 함수인데요. 간단하게 알아보겠습니다. 먼저 any 함수입니다. iterable한 것을 인풋으로 받는데요. 하나라도 참이면 true를 리턴합니다. 비어 있으면 false입니다. 예제 코드를 보겠습니다. 1번째는 list에 True가 하나 있습니다. 그리고 2번째 리스트에는 True가 없습니다. 당연하게도, any의 리턴값은 True, False가 되겠네요. 정말 그렇게 나올까요? 네. 정말 그렇게 나왔습니다. 어떠한 리스트에서 특정한 아이템들 중 하나라도 있는지를 판단할 때 꽤 유용하게 쓸 수 있습니다. 예를 들어, large에 small에 있는 원소들 중 하나라도 있는지를 테스트 하고 싶습니다. 이것을 어떻게 구현하는지 생각의 흐름을 보도록 할게요. ..
전체 글 검색 결과
django를 다루다 보면 migration을 하게 되는데요. 문득 궁금해 진 것이 하나 있었습니다. migration 기록은 어디에 저장하는 것일까요? 그래서 테스트 용으로 migrateTest 프로젝트를 만들었습니다. 그냥 django 빈 프로젝트입니다. 바꾼 설정은 migrateTest 패키지 밑에 있는 settings.py를 건드린 것 뿐입니다. 이 부분을 건드려서, 접근할 데이터베이스에 대한 정보를 초기화 해 주었습니다. showmigrations 명령어는 마이그레이션이 적용된 부분인 경우 x 표시를 해 줍니다. 지금은 모두 적용이 되지 않은 상태입니다. 이제 migrate 명령어를 이용해서, 마이그레이션 파일에 있는 것들을 모두 적용해 보겠습니다. 그 후에, 다시 showmigrations를 ..
자바에서 map이나 set에 특정한 원소들이 모두 있는지 확인하려면 어떻게 해야 할까요? stream을 생각하기 쉽지만, 사실 map이나 set에서는 containsAll을 쓰는 게 나을 수도 있습니다. containsAll은 collection이 c에 있는 모든 원소들을 가지고 있는지를 판단합니다. 보통 stream의 allMatch나, filter를 이용해서 처리하기도 할 텐데요. 저는 containsAll 메소드를 쓰는 것을 보다 선호합니다. 더 직관적이기 때문입니다. 사용법을 간단하게 보겠습니다. ori와 tar에 1부터 10까지 키를 넣었습니다. 그러면 처음에 둘 다 1부터 10까지 들어있을 테니, ori가 tar에 있는 원소들을 모두 가지고 있는 것이 맞습니다. 문제는, ori에서 5를 제거했..
제 코딩테스트 레포가 업데이트 되었습니다. stream 관련한 것도 있었고, 굳이 리스트 안에 있는 원소 갯수를 세는데 리스트 컴프리헨션에 len을 섞을 필요가 있냐는 피드백도 받았기 때문입니다. 예제 프로그램을 보겠습니다. 제 예전 21771번 풀이 코드는 요런 식이였습니다. 변경 이력을 봐도 알 수 있습니다. 무엇을 하는 것이냐면, 리스트 lt에서 k가 1인 것만 filtering을 해서 새로운 리스트를 만들고, 그 리스트에 있는 원소의 수를 세서 1의 갯수를 세는 것입니다. 결과는 3이 나옵니다. 의도한 대로 나왔으니 틀린 것은 아닙니다만, 문득 의문이 듭니다. 리스트 안에서 1의 개수를 세기 위해서 논리적으로 저렇게 많은 일이 필요할까요? 이 부분은 사실 잘 모르겠습니다. 대신에, 리스트에 있는 ..
폴더 내에 있는 파일들에서 특정한 키워드를 찾는 것을 생각보다 많이 하게 됩니다. 예를 들자면 프로젝트의 구조를 빠르게 파악하고자 할 때 저는 생각보다 많이 이용했는데요. 실습을 한 번 해 보겠습니다. 현재 find_test의 구조는 위와 같습니다. find_test 아래에는 디렉토리 1, 2가 있습니다. 디렉토리 1 밑에는 1.txt, 2.txt가 있고, 2 밑에는 3.txt, 4.txt가 있습니다. 다음에 find_test에는 디렉토리 1, 2 말고도 5.txt와 6.txt가 있습니다. 저는 특정 키워드를 찾을 때, r 옵션과 n 옵션을 저는 주로 씁니다. 이것은 탐색을 시작하는 디렉토리로부터 재귀적으로 탐색합니다. 보시면, 5.txt와 6.txt 뿐만이 아니라, 디렉토리 1과 2 밑에 있는 1.tx..
최근댓글