【发布时间】:2016-12-24 06:28:32
【问题描述】:
编辑:我删除了我的解释部分,因为它是错误的,但我仍然无法转换它。 我正在研究python中的列表和字典,我遇到了这段代码。
x = min(minValue, key=lambda b: min([a( \
myFunction(5,b),c) for c in something]))
this 的逻辑等价物是什么?看起来很简单,但是当我尝试用不同的代码编写它时,我没有得到同样的结果。 .如果没有全键和 lambda 的东西,怎么能以不同的方式写这个
看来我的解释是错误的。这是我尝试的更新代码。
for b in minValue:
for c in something:
minimum=min(myFunction(5,b),c)
result=min(minimum)
return result
注意:通过逻辑等价,我并不是说提供的代码应该完全像我给出的代码那样计算它,但它应该具有相同的输出。
【问题讨论】:
-
您尝试编写的等效代码是什么?一些上下文也会有所帮助。这些东西可能不叫 a、b、c 等。你在哪里看到这段代码?
-
它从列表
minValue中获取值并将它们用作b在计算中,然后它检查哪个计算给出最小的结果并返回它的b -
不,他们不是。我正在编辑问题以添加我的代码。这是在线python教学课的练习。我改变了变量概括我的理解
-
你的函数必须返回
b,而不是result -
1.您的等效代码缺少另一个级别的函数调用:
a(myFunction(5, b), c)。 2. 第一个代码 sn-p 确实不将任何内容分配给minValue。相反,它会遍历现有minValue集合中的项目。这些项目中的每一项都作为b传递给lambda函数。
标签: python list dictionary iteration