3
假设我有一个这样的名单:圆形列表中两个元素之间的最小距离?
my_list = [A, B, C, D, E, F, G]
其实,我用我的名单就像一个循环。这意味着G
之后有A
,A
之前有G
。
我想知道什么是最短距离,例如B
和F
。因为F -> G -> A -> B
短于B -> C -> D -> E -> F
。
什么是更“pythonic”的方式来计算这样的距离?
我虽然到目前为止还是比较难看(假设我知道指数):
def distance(len_my_list, idx_1, idx_2):
right = max(idx_1, idx_2)
left = min(idx_1, idx_2)
dist_1 = right - left
dist_2 = (len_my_list - right) + left
return min(dist_1, dist_2)
我想你的问题属于代码审查,而不是StackOverflow ...你可以在那里得到更好的回应... – Ankit
@Ankit虽然它喜欢示例代码,这可能是一个问题。 – Mast