python - 我应该如何创建变量 x 以便我可以输出值 (1,2), f(2,2), f(3,2), f(4,2),...,f(10,2) ?
问题描述
给定以下 lambda 函数,
f = lambda x,y: x**2 + y**2
我应该如何创建变量 x 以便我可以输出值
f(1,2), f(2,2), f(3,2), f(4,2),...,f(10,2)?
我试过了
a = [ (b,2) for b in range(1,11)]
f(a)
它给出了错误 lambda() 缺少 1 个必需的位置参数:'y'。
我也试过
f = lambda x,y: x**2 + y**2
a = [(i,2) for i in np.linspace(1, 10, 10)]
for j in a:
f(j)
它给出了相同的错误 lambda() 缺少 1 个必需的位置参数:'y'。
我们应该怎么做?
解决方案
你的 lambda 函数接受 2 个参数,你给它一个元组列表。使用 for 循环和 * 运算符,您可以执行以下操作:
for tuple_ in a:
print(f(*tuple_))
"*" 操作符在此处被称为解包操作符unpacking pep
推荐阅读
- arrays - 是否有将分段或()应用于多个逻辑数组的本机函数?
- javascript - 使用 FetchAPI 向数组添加数据
- javascript - JS函数自发执行
- python - CPPYY/CTYPES 将字符串数组作为 char* args[] 传递
- java - 无法将 txt 文件作为 JTextArea 读取
- python - 如何在python中将年划分为半年?
- ffmpeg - FFMPEG 连接协议或解复用多个 h264 和 aac mp4 是否更快?
- c# - 如何突出显示与 RichTextBox 文本中所有其他选择不同颜色的单词或短语?
- python - 如何通过比较两列uisng pandas来分组
- javascript - React 类如何 AnchorEl Popover