gpt4 book ai didi

python - 折叠列表列表以生成列表

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:39 25 4
gpt4 key购买 nike

所以我得到了以下列表:

cd = [[0.1,0.2,0.1,0.9], [0.2, 0.3, 0.4, 0.1],[0.2,0.3,0.1,0.5]

我想以列表格式获取嵌套列表的各个元素的乘积...

所以我打算:

p = [(0.1*0.2*0.2),(0.2*0.3*0.3),(0.1*0.4*0.1),(0.9*0.1*0.5)]

请注意,这不是 cd 和 p 之间的一对一关系。

我想简单地做...

例如,在 F# 中,我只执行 list.fold,并使用列表作为我的累加器。是否有 python 等效项,或者我必须这样做:

p = [cd[0]]
if len(cd) > 1:
for i in range(len(cd) - 1):
for j in range(len(p)):
p[j] = p[j]*cd[i+1][j]
return p

最佳答案

你可以这样做:

[reduce(lambda a, b: a*b, x)  for x in zip(*cd)]

这应该适用于多个列表,并且不需要任何导入。

正如@DSM 提到的,您还必须“导入 functools”并为 python3 使用“functools.reduce”。

关于python - 折叠列表列表以生成列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com