목록python (3)
타닥타닥
그 외에도 교집합, 합집합 기능도 가능하고,,! 'most_common' 메소드의 경우는 원소의 빈도수가 높은 순으로 반환해주기도 한다! (-> 자연어처리했을때 비슷한거 썼었는데 이건가..?)
파이썬 코드를 보다가 신기한 코드를 발견했다. return sum([1 if self.board[i] != self.goal[i] else 0 for i in range(8)]) if else를 한 줄로 써버리는 오잉스러웠던 코드 그래서 알아본 결과 [on_true] if [expression] else [on_false] python은 이런식으로 한 줄로 처리가 가능하다는 것! 예를 들자면 x = 10 y = 1 if x >5 else 0 print(y) => 결과는 1 그렇다면 if elif elif else와 같은 구문도 이렇게 처리가 가능할 까?.? 가능하다! 이건 dict자료형을 이용하면 되는데 그전에 dict 메서드 .get() 을 잠깐 정리를 해보자면 a = {'name' : 'baechu'..
일단 A*알고리즘에서는 가장 작은 평가함수를 가진 객체를 먼저 뽑아내야 하는 구조이다! 이 문제에서는 평가함수 f(n) = h(n) + g(n)으로 두었다. h(n) : goal의 타일과 비교해서, 일치하지 않는 타일의 개수 g(n) : 시작노드에서 현재 노드까지 몇 단계 이동했느냐,,! (트리 레벨이라고 생각하면 되는 듯) 그러니까! 당연히 f(n)의 값이 작을수록 효율적이다. --> 우선순위큐!! 갑자기 든 생각은 그냥 리스트의 min() 메서드를 이용하면 안 되나 싶긴 한데............ min() 메서드를 사용하면 내가 할 일이 늘어날 거 같다. 왜냐하면,,,,, 우선순위큐에 담을 내용은 평가함수의 값이 아니라,,! 객체다!!!!! 우리는 객체만 우선순위큐에 담아도 클래스에 오버로딩해놓은 ..