1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích mạng nâng cao với Python

Connected

Bài tập

Trực quan hóa độ kết nối

Ở đây, bạn sẽ trực quan hóa cách độ kết nối của các nút có kết nối cao nhất thay đổi theo thời gian. Danh sách các giá trị kết nối cao nhất, top_connected, từ bài tập trước đã được nạp sẵn.

Nhớ defaultdict bạn đã dùng ở Chương 1 chứ? Bạn sẽ dùng một defaultdict nữa trong bài này! Như Eric đã đề cập trong video, defaultdict được ưu tiên ở đây vì một từ điển Python thông thường sẽ ném ra KeyError nếu bạn cố lấy một phần tử với khóa chưa có trong từ điển.

Bài này sẽ sử dụng các vòng lặp for lồng nhau, tức là bạn có một vòng lặp for bên trong một vòng lặp for khác.

Hướng dẫn

100 XP
  • Khởi tạo một defaultdict của các danh sách rỗng, gọi là connectivity.
  • Duyệt qua top_connected bằng một vòng lặp for, và trong thân của vòng lặp for bên ngoài này, lại tiếp tục duyệt qua Gs. Bên trong vòng lặp lồng nhau:
    • Các khóa của connectivity sẽ là các nút n trong top_connected, và các giá trị sẽ là danh sách điểm độ kết nối. Do đó, bạn cần thêm len(list(G.neighbors(n))) vào connectivity[n].
  • Duyệt qua connectivity bằng .items() và vẽ độ kết nối của từng nút bằng cách truyền conn vào plt.plot().