python - 带有函数的列表上的嵌套循环
问题描述
我陷入了困境:
- 一个列表
y = (1,2,3...)
- 一个函数
func(A,B)
- 一个常数
C
如何用循环表达这种情况?
B1 = func(C , y[0])
B2 = func(B1 , y[1])
B3 = func(B2 , y[2]) #.... and so on.
解决方案
第一个参数只是上一个调用的返回值,以 开头C
:
result = C
for yval in y:
result = func(result, yval)
正如评论中所指出的,这种模式被经常被忽视的reduce
功能所捕获。(被忽略的部分原因是它从内置命名空间降级为functools
Python 3 中的模块。)
from functools import reduce
result = reduce(func, y, C)
推荐阅读
- android - android - 如何复制 Android 10 设置
- button - 通过 rasa x 测试的聊天机器人 rasa 上未显示我的按钮
- c# - 为什么在将一种编码中的字节转换为不同编码中的字符串时需要 Encoding.Convert?
- amazon-web-services - 如何在 Athena (Presto) 中将 varchar 日期时间转换为时间戳?
- java - 如何以编程方式设置 ImageView 圆角?
- python - 如何使用请求库通过 python 脚本将文件上传到烧瓶网页?
- java - 返回连接变量的函数
- javascript - 如何仅为移动设备创建手风琴菜单页脚
- r - 使用行值过滤具有相似列名的另一个数据框作为 mutate() 的输入
- javascript - Javascript 生活游戏。全部清除返回初始阶段