python:从2个列表中查找关联值

时间:2014-07-11 19:57:53

标签: python

很抱歉污染了这样一个例行问题,但是:

如果我有2个列表,例如:

list1 = [1,2,3,4,5,6,7]

list2 = [20,40,60,80,100,120,140]

如何在list1中找到与3相关联的值(答案为60)

在这种情况下,1与20,2 w / 40相关联,依此类推。

3 个答案:

答案 0 :(得分:4)

拉链并制作字典。

>>> list1 = [1,2,3,4,5,6,7]
>>> list2 = [20,40,60,80,100,120,140]
>>> dict(zip(list1,list2))
{1: 20, 2: 40, 3: 60, 4: 80, 5: 100, 6: 120, 7: 140}

>>> l = dict(zip(list1,list2))

>>> l[2]
40

>>> l[3]
60

答案 1 :(得分:0)

听起来你只想要zip

>>> list1 = [1,2,3,4,5,6,7]
>>> list2 = [20,40,60,80,100,120,140]
>>> zip(list1, list2)
[(1, 20), (2, 40), (3, 60), (4, 80), (5, 100), (6, 120), (7, 140)]
>>>

当然,正如@wnnmaw所说,dictionary在这里可能会更好:

>>> dict(zip(list1, list2))
{1: 20, 2: 40, 3: 60, 4: 80, 5: 100, 6: 120, 7: 140}
>>>

答案 2 :(得分:0)

如果您有理由将它们保留在数组中,请使用此答案。 否则,请按照其他答案中的建议将其制作成字典

当你说“关联”时,你要问的真正问题是:

“在另一个列表中与(无论什么值)相同的索引是什么值?”

list1 = [1,2,3,4,5,6,7]
list2 = [20,40,60,80,100,120,140]

print list2[list1.index(3)] # 60