n = 4
v = [16, 19, 23, 28]
w = [2, 3, 4, 5]
idxs = list(range(n))
idxs.sort(key=lambda i: v[i]/w[i], reverse=True)
objs = ((v[i], w[i]) for i in idxs[m:])
for av, aw in objs:
print av
print aw
我遇到了上面的代码块。如果 m=2,它返回 23 4 28 5。我想知道下面指示的代码行在 Python 中是如何工作的,这是一个函数调用吗?要不然是啥?。你能指点我解释这个功能的 Python 2.7 手册吗?对于这个问题,我需要一个更好的标题,但我不知道如何命名,有什么建议吗?
objs = ((v[i], w[i]) for i in idxs[m:])