1
如何在f(item)最小的列表中找到该项目?
我有一个清单l和一个函数f。f不是严格增加或减少。如何在列表中找到f(item)最小的项目?例如,假设列表为: l = [1, 2, 3, 4] 并且list(f(x)for x in l)是: [2, 9, 0, 3] f(3)小于其他任何一个的f,因此应打印“ 3”。最简单的方法是什么?我最初尝试: min(f(x) for x in l) 但是,这0不能3。如果我是为了提高可读性而不是为了简洁起见,我会这样做: index = 0 smallest = f(l[0]) for i in range(len(l)): value = f(l[i]) if value < smallest: smallest = value index = i 很好,但是对于代码高尔夫球来说太可怕了。即使打了高尔夫球 i,s=0,f(l[0]) for x …