python - 这两个返回语句有什么区别?
问题描述
这是来自codesignal的一个问题。我尝试了下面的第二段代码,但它没有通过所有测试。但第一个片段做到了。为什么?这两个片段有什么区别?
上下文:给定一个整数数组,找到具有最大乘积的相邻元素对并返回该乘积。
def adjacentElementsProduct(inputArray):
return max([inputArray[i]*inputArray[i+1] for i in range(len(inputArray)-1)])
def adjacentElementsProduct(inputArray):
for i in range(len(inputArray)-1):
return max([inputArray[i]*inputArray[i+1]])
解决方案
你试过这些吗?
第一个返回列表的最大值。
第二个返回inputArray[0]*inputArray[1]
。循环永远不会执行到结束。
推荐阅读
- laravel - 左外连接在 laravel 6 中不能按预期工作
- python - 无法验证我对特定网站的查询
- docker - 我无法模拟与 docker 容器的网络断开连接
- c++ - 如何解决多文件 cpp 项目中的链接器错误
- google-cloud-platform - Google Cloud 存储库中的磁盘空间限制格式(千兆字节、千字节等)是什么?
- python-3.x - 循环过早退出
- amazon-web-services - AWS 部署的 Streamer 在线游戏架构注意事项
- python - 有没有更快的方法可以更改数组中的多个元素?
- loops - v-loop 中的 v-model 出现在文本字段中,但没有任何变化
- python - 在一个程序中多次启动屏幕