我收到了这行代码,我在理解语法上有困难
def coinsNeeded(coins, price, mincoinList):
return min([mincoinList[price-coin] for coin in coins if coin <= price]) + 1
到目前为止我知道的是coins
和mincoinList
都是整数数组,而且price
也是整数
根据我的理解,min()
函数需要一个iterable或两个参数,所以我不太明白在min()
函数中比较的是什么值
Tags:
让我们切断这条线
其中的核心部分是以下列表:
列表理解是一种通过循环某个序列来创建列表的方法。在本例中,我们为
coins
列表中的每个coin
创建一个值为mincoinList[price - coin]
的元素的列表,如果coin
的值小于或等于price
换言之,它选择那些比价格低的硬币,然后对于每一个,它从
mincoinList
中得到一个元素,以价格和硬币的差值作为索引最后,该列表被传递给^{} ,后者只返回列表中值最低的元素。然后将该值递增1,并从函数返回
您可以用一个非常详细的多行代码来编写这一切,如下所示:
您的代码:
具有列表理解,相当于:
相关问题 更多 >
编程相关推荐