python에는 random이 있습니다. 여기에 있는 메서드 중에서 sample과 choices의 차이를 알아봅시다. 먼저 예제 1번을 보겠습니다. 왠 리스트가 있는데요. li는 [1, 2, 3, 4, 5]입니다. 4번째 줄에서 rd.choices와 rd.sample을 호출하는데요. 결과만 보겠습니다. 전자는 [1, 1]이 나왔습니다. 그런데, 후자는 그렇지 않았네요. [1, 1]이 나온 경우도 있었습니다. 쉽게 말해서, choices는 공 n개가 있습니다. 먼저 n개 중에 하나를 뽑았습니다. 결과를 보고 다시 넣습니다. 그러면 공 n개가 들어 있을 겁니다. n개 중에 하나를 또 뽑습니다. 즉, 표본 크기가 n이라면, 그 중 하나를 뽑고, 다시 넣는 작업을 반복합니다. sample은 그렇지 않습니다. n..
파이썬 검색 결과
c, c++에서 제가 꽤 많이 쓰던 것 중 하나는 삼항 연산자였습니다. 파이썬에는 없을까요? 예를 들어, a의 절댓값을 구하는 mabs 메서드를 생각해 보겠습니다. 이것은 아래와 같이 쓸 수 있습니다. a가 0보다 작으면, -a를 리턴합니다. 그렇지 않으면, if문에 걸리지 않으니 4번째 줄을 수행합니다. a를 돌려주는데요. 7번째 줄에 -1을 인자로 넣어서 mabs를 호출합니다. 실행 결과는 위와 같습니다. -1의 절댓값은 1이니, 의도한 결과대로 잘 나왔음을 볼 수 있어요. 이 링크를 보면, 중간에 이런 구문이 나옵니다. 이것은 C이면, x가 평가되고, 그렇지 않으면 y로 평가됩니다. 즉, C가 참이면, 노란색이 수행되고, 아니면 y가 수행됩니다. 이를 응용하면, mabs를 1줄로 바꿀 수 있습니다...
저는 변수를 출력할 때, 문자열을 이어 붙여서 출력하곤 했습니다. 그런데, 사실 간단한 방법이 있었습니다. 파이썬 3.6 부터는 Literal String Interpolation이 도입되었습니다. PEP 498에서는 이를 f-string으로 언급하고 있는 듯 합니다. 간단하게 예제 몇 개를 보도록 하겠습니다. 먼저 cost를 출력하는 방법입니다. 앞에 f 지시자가 들어갔다는 것을 보시면 됩니다. 그리고, 뒤에 {cost}라고 적혀져 있는데요. 실행 결과를 보겠습니다. cost is 21350이라고 나옵니다. cost가 {cost}이다. 꽤나 유용하게 쓰일 법 합니다. 왜냐하면, 저는 이러한 작업을 문자열을 연결해서 많이 했기 때문입니다. 그런데, 이 방법은 읽기 쉽습니다. 많이 쓰일 법 합니다. 당연하..
파이썬에서 sorted는 꽤 많이 쓰는 함수 중 하나입니다. 어떻게 쓰는지 간단하게 알아봅시다. 이 문서를 보고 오시면 더 좋습니다. 먼저, 정수를 정렬해 봅시다. 정렬할 때에는 보통 리스트를 많이 씁니다. 리스트는 iterable 하므로, 정렬 가능합니다. sorted(arr)을 한 결과를 출력해 보겠습니다. 그러면 2, 3, 3이 나옵니다. 역순으로 정렬할 수 없을까요? 할 수 있습니다. reverse 옵션을 True로 주면 됩니다. 실행 결과는 위와 같습니다. 키를 설정하는 것을 많이 쓰는데요. 이것을 람다로 퉁칠 수 있습니다. 예를 들어 보겠습니다. 먼저, pair의 1번째 요소를 기준으로 정렬한다면, lambda tu : tu[1]로 주면 됩니다. 단지, 이것은 키 (1, 2)에서 1번째 원소인..
파이썬을 c처럼 짜다가, 이것 저것 기능을 알아가다 보니, 이렇게 짜면 코드가 단순해지겠네. 하는 것이 하나씩 있습니다. 그 중 하나는 filter입니다. 자바에서는 필터랑 람다랑 짝궁처럼 붙어다니기도 합니다. 파이썬에서도 마찬가지입니다. 공식 문서에 따르면, filter는 function과, iterable을 받습니다. 대표적으로 iterable 한 것은 list가 있습니다. 예제를 몇 개 보도록 하겠습니다. 먼저, func은 항상 True를 리턴합니다. 그리고 2번째 인자로 li를 넣었는데요. 여기에는 1, 2, 3, 4, 5가 저장되어 있습니다. 무엇이 나오는지 결과부터 보도록 하겠습니다. 그대로 1, 2, 3, 4, 5가 나오게 됩니다. 이는 뭐가 되었던지 간에 항상 True가 리턴이 되었기 때문..
최근댓글