我有一个字典列表(k)和一个列表(l)
k = [
{'x': 2.5, 'y': 1.5, 'z': 2},
{'x': 3, 'z': -1.5},
]
l = [-9, -2, -4, 1, 4, 7]
将 k 和 z 一起迭代以便我们可以计算公式(例如使用这些值)的最简单方法是什么?
到目前为止,我一直在使用:
for dic in k:
for key in dic:
print(dic[key])
但这只是k
单独迭代。我需要k
和z
一起迭代,以便我们可以使用后续值来计算函数。
预期为每个值计算一个函数的输出:
x + y*l + z*l*l
x,y,z
将0
在它不存在的地方
import itertools
k = [
{'x': 2.5, 'y': 1.5, 'z': 2},
{'x': 3, 'z': -1.5},
]
l = [-9, -2, -4, 1, 4, 7]
for d, i in itertools.zip_longest(k, l, fillvalue={}):
x = d.get('x', 0)
y = d.get('y', 0)
z = d.get('z', 0)
print(x + y*i + z*i*i)
输出:
151.0
-3.0
0
0
0
0
约束:l
必须总是比 长k
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句