Bắt đầu ngayBắt đầu miễn phí

Subgraph II

Trong bài trước, bạn đã được cung cấp một danh sách node và được yêu cầu trích xuất các hàng xóm của chúng.

Hãy làm thêm một bài nữa: bạn sẽ trích xuất các node có một thuộc tính metadata cụ thể và cả hàng xóm của chúng. Bài này gợi nhớ cách dùng list comprehension để tìm node mà bạn đã học. Nó cũng giúp bạn luyện kỹ năng ghép nối (compose) các hàm mà bạn đã viết trước đó.

Bài tập này là một phần của khóa học

Nhập môn Phân tích Mạng bằng Python

Xem khóa học

Hướng dẫn bài tập

  • Dùng một list comprehension để trích xuất các node có metadata 'occupation''celebrity' cùng với hàng xóm của chúng:
    • Biểu thức đầu ra của list comprehension là n, và có hai biến lặp: nd. Iterable là danh sách node của T (kèm metadata, bạn có thể chỉ định bằng data=True) và biểu thức điều kiện là khi khóa 'occupation' của từ điển metadata d bằng 'celebrity'.
  • Đặt chúng vào một subgraph mới tên là T_sub. Để làm điều này:
    • Lặp qua các node, tính hàng xóm của từng node, và thêm chúng vào tập node nodeset bằng phương thức .union(). Phần này đã được làm sẵn cho bạn.
    • Dùng nodeset cùng với phương thức T.subgraph() để tính T_sub.
  • Vẽ T_sub lên màn hình.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Extract the nodes of interest: nodes
nodes = [n for n, d in ____ if ____ == ____]

# Create the set of nodes: nodeset
nodeset = set(nodes)

# Iterate over nodes
for n in ____:

    # Compute the neighbors of n: nbrs
    nbrs = ____

    # Compute the union of nodeset and nbrs: nodeset
    nodeset = nodeset.union(nbrs)

# Compute the subgraph using nodeset: T_sub
T_sub = ____

# Draw T_sub to the screen
____
plt.show()
Chỉnh sửa và Chạy Mã