python - 列表的最大值(每个索引的长度可能不同)和一个数字
问题描述
假设我有一个长度为 3 的列表。列表中的条目有维度:5, (5,5), 5 一个例子可以是 [[1,23,3,3,2], [[1,2, 2,3,4],[1,4,3,1,4],[6,7,8,5,4],[3,5,2,2,1],[5,2,6, 7,8]], [1,3,6,4,2]]
我想获得列表的最大值和 5(比如说)。但我想要与我的列表相同维度的输出。这个想法被用于神经网络。该列表可以被认为是层中边缘的权重。
我尝试使用np.maximum()
,但它需要相同长度/尺寸的向量。
在 MatLab 中,max 函数返回相同维度的列表,但我找不到 python 的类似函数。
解决方案
def my_max(lst, s = 5):
try:
lst = sum(lst, [])
except:
pass
return [max(c, s) for c in lst]
让我们测试一下
my_max(l[1], 5)
返回
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 7, 8]
推荐阅读
- android - 如何防止视频录制(在录制时录制黑色视频),如 hotstar 应用程序
- spring - 多对多映射方法有什么区别
- java - 二进制内容响应 - 文件名无效?
- python - 将 HTML 输入中的变量分配给 Python/Flask
- ubuntu - 包含文本和图像的页面的 OCRing pdf
- nix - 如何从 nix 表达式文件中安装 nix-env 派生?
- python-3.x - keras 嵌入层导致 tensorflow.python.framework.errors_impl.InvalidArgumentError:
- c# - 阅读excel时删除列或行
- proxy - 主机名/域的 ACL 文件夹中的 Haproxy 路由
- ios - 为什么我们总是必须在命中测试中使用集合的第一个元素,而不是最后一个?