拆分两个列表并将一个列表中的数据分配给另一个列表中的值

时间:2015-07-06 19:20:00

标签: python list split assign

并提前感谢您的帮助。我的问题涉及Python中的方法,如下所示。

我有两个清单。一个列表 x 由每行包含2个值 x1 x2 的行组成。第二个列表 数据 由包含3个值的行组成, x0 t r ,每个。我相应地拆分每一行:

for datum in data:
    x0, t, r = data.split()

for item in x:
    x1, x2 = x.split()

x1 x2 的值可以在 x0 的值中找到。如果 x1 对应于 x0 的值,我想将 x 的值分配给 x 和< em> r 也与 x0 对应。我想为每个 x2 执行此操作。最终结果是使用值 t r x1 x2 值进行一些计算>

例如:假设我们有两行来自 数据 x0 t r ):

311 0 2

202 5 13

我们有一行来自 x x1 x2 ):

311 202

最后,我想将值0和2分配给 x1 ,将5和13分配给 x2 ,以便我可以进行任意计算,例如y = r1-r2 + t1 * t2,其中r1是分配给 x1 等的 r 值。请注意,我希望能够为每一行计算的 X 即可。

再次感谢!

1 个答案:

答案 0 :(得分:0)

使用密钥data

x0构建字典
dataDictionary = {}
for datum in data:
    x0, t, r = datum.split()
    dataDictionary[x0] = t, r

这样,您就可以根据datax0查找值。

现在,当您遍历x时,您可以获取这些值并进行计算:

for item in x:
    x1, x2 = item.split()
    t1, r1 = dataDictionary[x1]
    t2, r2 = dataDictionary[x2]
    y = r1 - r2 + t1 * t2
    print(y)