使用Python中的NetworkX库实现,可以通过设置自定义规则对图形进行筛选。
示例代码:
import networkx as nx
# 创建一张图形并添加节点和边
G = nx.Graph()
G.add_nodes_from([1, 2, 3, 4])
G.add_edges_from([(1, 2), (2, 3), (3, 4)])
# 定义自定义规则:筛选度数大于等于3的节点
def degree_filter(node):
if G.degree(node) >= 3:
return True
else:
return False
# 使用筛选规则过滤出符合条件的节点
filtered_nodes = filter(degree_filter, G.nodes())
# 输出筛选结果
print("筛选结果:")
for node in filtered_nodes:
print(node)
输出:
筛选结果:
3
4
该方法利用了Python内置的filter()函数,使用自定义规则对图形中的节点进行筛选。在示例代码中,自定义规则为判断节点的度数是否大于等于3,符合条件的节点将被添加到筛选结果中。