Python字典操作项目(获取最小和最大)

时间:2016-12-24 06:28:32

标签: python list dictionary iteration

编辑:我删除了我的解释部分,因为它错了,但我仍然无法转换它。 我正在学习python中的列表和词典,而且我遇到了这段代码。

x = min(minValue, key=lambda b: min([a( \
        myFunction(5,b),c) for c in something]))

这与逻辑等价的是什么?看起来很简单,但是当我尝试用不同的代码编写它时,我不会得到同样的东西。 。如果没有整个键和lambda事件,如何以不同方式编写

好像我的解释错了。这是我尝试的更新代码。

for b in minValue:
   for c in something: 
       minimum=min(myFunction(5,b),c)
result=min(minimum)
return result

注意:通过逻辑等效,我并不是说提供的代码应该像我给出的代码一样计算它,但它应该具有相同的输出。

1 个答案:

答案 0 :(得分:1)

我'不确定,但它可能是这样的

def example(minValue):

    data = []

    for b in minValue:

        values = []
        for c in something:
            values.append( a(myFunction(5,b),c) )
        result = min(values)

        # keep `result` and `b` which gives this `result`
        data.append( [result, b] )

    # find minimal `result` and `b` which gives this `result`
    x = min(data) # x = [result, b]

    # return `b` 
    return x[1]

#---

x = example(minValue)

编辑: min(data)可能存在问题,因为min将比较resultb,而原始版本仅比较{{1} }}。它可能需要没有result的版本,但需要:

min()

修改

if result < min_result: 
   min_result = result
   min_b = b