如何在python中使列表值与另一个列表中的另一个值相对应

如何在python中使列表值与另一个列表中的另一个值相对应,python,list,variables,row,Python,List,Variables,Row,我当前的代码行如下所示: year = [1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016] intake = [26242.5,27906.7,29192.7,30407.5,1564.9,2313.5,2989.4,3668.6,22082.6,29964.2,30481.6,35981.7,39597.6,38659.6, 34325.9,6

我当前的代码行如下所示:

year = [1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016]
intake = [26242.5,27906.7,29192.7,30407.5,1564.9,2313.5,2989.4,3668.6,22082.6,29964.2,30481.6,35981.7,39597.6,38659.6, 34325.9,6913.5,35780.6,39111.5,37116.5,35385.5]
outtake = [14311.4,12135.1,3381.0,2186.8,22732.6,21519.8,19932.3,18903.2,24347.6,3307.0,3261.5,34668.1,43695.2,36286.6,26648.6,34325.9,36913.5,26580.6,27679.5,28643.0]

我想在'outtake'列表中找到3个最低的值,并将其标记为变量{val1}、{val2}、{val3},分别对应于'year'列表中与变量{yr1}、{yr2}、{yr3}相同的行[]


所需输出应为打印消息:

The 3 lowest outtake values are {val1}, {val2}, {val3} at year {yr1}, {yr2}, {yr3} respectively.

我应该怎么做呢?您可以使用同时迭代两个列表,对它们进行排序(按第一个元素)和切片表示法(
[start:end]
)来获得前三个列表

sorted(zip(outtake, year))[:3]

有没有一种方法可以像预期的结果那样以更简洁的方式呈现这些价值观?