ManimCommunity/manim

Add tuple key support in `GenericGraph.__getitem__()`

Closed

#3,798 opened on Jun 9, 2024

 (2 comments) (0 reactions) (0 assignees)Python (1,378 forks)batch import
good first issuenew feature

Repository metrics

Stars
 (17,820 stars)
PR merge metrics
 (Avg merge 90d 10h) (31 merged PRs in 30d)

Description

Description of proposed feature

vertices = [1, 2, 3, 4]
edges = [(1, 2), (2, 3), (3, 4), (1, 3), (1, 4)]
g = Graph(vertices, edges)
assert isinstance(g[1], Dot)  # This is OK
assert isinstance(g[(1, 2)], Line)  # But this will raise a KeyError

imo This is confusing. Why not add a support for edge mapping?

How can the new feature be used?

Every time people want to get or set a edge, just write g[(1, 2)] instead of g.edges[(1, 2)].

Contributor guide