Python 同时迭代列表和字典
我有一个字典列表(k)和一个列表(l)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=[
{'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
?