Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 同时迭代列表和字典_Python_List_Dictionary - Fatal编程技术网

Python 同时迭代列表和字典

Python 同时迭代列表和字典,python,list,dictionary,Python,List,Dictionary,我有一个字典列表(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迭代,以便我们可以使用后续值来计算函数 期望为每个值计算一个函数的输

我有一个字典列表(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
导入itertools k=[ {'x':2.5,'y':1.5,'z':2}, {'x':3,'z':-1.5}, ] l=[-9,-2,-4,1,4,7] 对于d,i在itertools.zip_中最长(k,l,fillvalue={}): x=d.get('x',0) y=d.get('y',0) z=d.get('z',0) 打印(x+y*i+z*i*i) 输出:

151.0
-3.0
0
0
0
0
约束:
l
必须始终长于
k

导入itertools
k=[
{'x':2.5,'y':1.5,'z':2},
{'x':3,'z':-1.5},
]
l=[-9,-2,-4,1,4,7]
对于d,i在itertools.zip_中最长(k,l,fillvalue={}):
x=d.get('x',0)
y=d.get('y',0)
z=d.get('z',0)
打印(x+y*i+z*i*i)
输出:

151.0
-3.0
0
0
0
0
约束条件:
l
必须始终大于
k

试试这个

for dic, l in zip(k, z):
    x, y, z = dic.get(‘x’, 0), dic.get(‘y’, 0), dic.get(‘z’, 0)
    return x + y*l + z*l*l
试试这个

for dic, l in zip(k, z):
    x, y, z = dic.get(‘x’, 0), dic.get(‘y’, 0), dic.get(‘z’, 0)
    return x + y*l + z*l*l

l
不存在时会发生什么?当
l
不存在时会发生什么?为什么不只是
zip
?为什么不只是
zip