파이썬에는 any와 all이 있습니다. 최근에 배웠던 함수인데요. 간단하게 알아보겠습니다. 먼저 any 함수입니다. iterable한 것을 인풋으로 받는데요. 하나라도 참이면 true를 리턴합니다. 비어 있으면 false입니다. 예제 코드를 보겠습니다. 1번째는 list에 True가 하나 있습니다. 그리고 2번째 리스트에는 True가 없습니다. 당연하게도, any의 리턴값은 True, False가 되겠네요. 정말 그렇게 나올까요? 네. 정말 그렇게 나왔습니다. 어떠한 리스트에서 특정한 아이템들 중 하나라도 있는지를 판단할 때 꽤 유용하게 쓸 수 있습니다. 예를 들어, large에 small에 있는 원소들 중 하나라도 있는지를 테스트 하고 싶습니다. 이것을 어떻게 구현하는지 생각의 흐름을 보도록 할게요. ..
python 검색 결과
제 코딩테스트 레포가 업데이트 되었습니다. stream 관련한 것도 있었고, 굳이 리스트 안에 있는 원소 갯수를 세는데 리스트 컴프리헨션에 len을 섞을 필요가 있냐는 피드백도 받았기 때문입니다. 예제 프로그램을 보겠습니다. 제 예전 21771번 풀이 코드는 요런 식이였습니다. 변경 이력을 봐도 알 수 있습니다. 무엇을 하는 것이냐면, 리스트 lt에서 k가 1인 것만 filtering을 해서 새로운 리스트를 만들고, 그 리스트에 있는 원소의 수를 세서 1의 갯수를 세는 것입니다. 결과는 3이 나옵니다. 의도한 대로 나왔으니 틀린 것은 아닙니다만, 문득 의문이 듭니다. 리스트 안에서 1의 개수를 세기 위해서 논리적으로 저렇게 많은 일이 필요할까요? 이 부분은 사실 잘 모르겠습니다. 대신에, 리스트에 있는 ..
문제 출제 작업을 할 때, 데이터를 random하게 생성하는 것은 매우 중요한 일 중 하나입니다. 제가 출제한 코딩테스트 문제들은 생각보다 제약 조건이 단순하지 않아서 choices에 weights 인자를 넣어서 생성할 일은 거의 없었습니다. 그런데, 나중에 출제를 할 때 알아두면 좋을 듯 해서 정리하게 되었습니다. 옛날에 문제를 출제했을 때, A, B, C 쿼리가 일정 비율로 나오게끔 generate하는 코드도 꽤 제작했던 걸 보면, 안 필요할 거 같지는 않기 때문입니다. list에 count는 리스트 내에서 value가 출현한 횟수를 세어줍니다. 예제에서는 이 함수를 많이 쓰니, 미리 언급하고 넘어가겠습니다. 기본적으로, choices는 복원 추출을 하게 됩니다. 같은 원소를 여러 번 뽑는 것이 가능..
안녕하세요. 가희배 3회 코딩테스트 문제들을 셋팅하면서 xml 형식을 파싱해야 되는 일이 생겼는데요. 파이썬에서 이를 간단하게 할 수 있었어요. xml.etree.ElementTree를 이용해서 간단하게 작성해 보았습니다. 먼저, temp.xml에는 위와 같은 내용들이 저장되어 있어요. html도 사실 보면 저 구조와 크게 다를 바가 없습니다. 이 친구를 읽어서, 태그에 달려있는 값들만 뽑아오도록 할게요. 먼저, ET.parse를 통해, temp.xml에 있는 내용들을 읽어서, tree화 시킵니다. 함수 설명은 위와 같은데요. XML document를 element tree로 변환한다고 되어 있어요. 다음에, iter를 돌릴 건데요. iter 함수를 썼어요. 레퍼런스 설명을 보면, tree iterato..
요새 출제 하느라 정신이 하나도 없네요. 몇 일 동안 글을 쓰지 못했네요. 이번에는 itertools의 accumulate에 대해 간단하게 알아보도록 하겠습니다. 설명을 보면, series of accumulated sums 이라고 되어 있긴 합니다. 여기서 accumulate는 축적하다라는 뜻인데요. 뒤에 d가 붙었으니 축적된이겠죠? sums가 뒤에 붙었는데요. 축적된 합. 네. 누적합을 구하게 됩니다. 그런데 뒤에 괄호를 보면, or other binary 함수 results라고 되어 있어요. 무엇인지는 모르겠지만 대충 직역하면 다른 conversion의 결과를 누적한다. 이 정도로 해석하면 좋겠네요. 축적된 합은 몰라도, 누적합, 누적 곱 정도는 많이 들어보셨으리라 생각해요. 예제 몇 개를 봅시다...
최근댓글