python - TypeError:'float' 对象不可调用(代入公式)
问题描述
当发现 travtimes 错误出现在倒数第 3 行时,这是由于尝试将流量代入 adj 中的 lambda 公式的结果,代码如下:
import numpy as np
edges = np.array([[0, 1, lambda N: N/100],
[0, 2, lambda N: 45],
[1, 3, lambda N: 45],
[2, 3, lambda N: N/100]])
nodes = np.unique(edges[:,0:2])
num_nodes = len(nodes)
adj = np.full((num_nodes, num_nodes), np.inf, dtype=object)
nodelen = len(edges)
for x in range(nodelen):
edge = edges[x,:] # 0, 1, lambda ... need to loop through edges
first, second, func = edge
adj[first, second] = func
flows = np.zeros_like(adj)
print(adj)
print(flows)
adjlen = len(adj)
y=0
travtimes = adj
travtimes.astype(dtype=object)
flows.astype(dtype=int)
while y < adjlen:
for x in range(adjlen):
travtimes[x,y] = travtimes[x,y](flows[x,y])
y = y+1
print(travtimes)
解决方案
推荐阅读
- php - 在 Wordpress 自定义主题上获取 ajax 请求时出现错误 400
- python - python spacy 向后查找块(在引用之前)
- ns2 - 如何实现代码路由 Connectivity Aware Routing 和 Greedy Perimeter Coordinator Routing
- ios - 如何使 UIBezierPath 从中心填充
- oracle - 计数返回 <
> 当没有什么可以分组时 - c - 使用 C 实现张量乘法,对应于 TensorFlow 的“mat_mul”操作
- angular - 角响应形式,用数组值更新控件
- python - 如何让 Python 从该子模块的路径中运行子模块以获取相对路径?
- ruby - 确定 Ruby gem 的实际公共接口
- shell - Salt 的 cmd.run 忽略 shell 脚本返回码