【发布时间】:2022-01-18 23:20:42
【问题描述】:
目前有一段代码是这样的
node = {"id": 1, "some-other-data": "foo"}
edges = [(1, 0), (2, 1)]
adjacent = []
for edg in edges:
if node["id"] == edg[0]:
adjacent.append(edg[1])
elif node["id"] == edg[1]:
adjacent.append(edg[0])
我想知道是否有更“pythonic”的方式来检查 ID 是邻接表中元组的一个元素,并分配相反的元素 元素。本质上这是一个无向图的邻接矩阵。
【问题讨论】:
-
使用可迭代解包,
for x, y in edges: ... -
我真的不明白这如何使它更 Pythonic 或更简洁......
-
我认为这更适合codereview.stackexchange.com
-
@zr0gravity7 可迭代解包优于索引到这样的元组。这是这里最容易实现的目标。
-
@ThomasCarroll 什么是“pythonic”是一个见仁见智的问题,这使它成为一般的代码审查和题外话。如果您担心某些目标,例如遵守 PEP-8,或者至少不使用某些 特定 实现方法(例如,没有循环),您可以改写关于这个的问题。
标签: python tuples graph-theory adjacency-matrix