1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 시작하는 네트워크 분석

Connected

연습 문제

각 노드의 이웃 수 계산하기

어떤 노드가 중요한 노드인지 어떻게 평가할 수 있을까요? 여러 방법이 있지만, 여기서는 한 가지 지표인 노드가 가진 이웃(neighbor)의 수를 살펴보려고 해요.

모든 NetworkX 그래프 G는 노드 n의 이웃 노드들을 반환하는 .neighbors(n) 메서드를 제공해요. 먼저 IPython 셸에서 Twitter 네트워크 T를 사용해 노드 1의 이웃을 확인해 보세요. 이 과정을 통해 함수의 동작 방식을 익힐 수 있어요. 그런 다음, 이 연습 문제에서는 이웃이 m명인 모든 노드를 반환하는 함수를 작성해 보세요.

지침

100 XP
  • G와 m 두 개의 매개변수를 받고, 이웃이 m명인 모든 노드를 반환하는 nodes_with_m_nbrs() 함수를 작성하세요. 이를 위해 다음을 수행하세요.
    • G의 모든 노드(메타데이터는 제외)를 순회하세요.
    • 그래프 G에서 노드 n이 가진 전체 이웃 수를 계산하기 위해 len()과 list() 함수를 .neighbors() 메서드와 함께 사용하세요.
      • 만약 노드 n의 이웃 수가 m과 같다면, .add() 메서드를 사용해 집합 nodes에 n을 추가하세요.
    • G의 모든 노드를 순회한 뒤, 집합 nodes를 반환하세요.
  • 작성한 nodes_with_m_nbrs() 함수를 사용해 그래프 T에서 이웃이 6명인 모든 노드를 가져오세요.