同时迭代列表和字典 Python

爵士乐

我有一个字典列表(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单独迭代我需要kz一起迭代,以便我们可以使用后续值来计算函数。

预期为每个值计算一个函数的输出:

x + y*l + z*l*l

x,y,z0在它不存在的地方

崔宝城
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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章