Python,匹配两个列表的元素
x= [0,2,3,5,6];
y= [64,384,1024,4096,384];
上面是我正在使用的两个数组。我想用一种Python风格的方法把它们的元素匹配在一起。
举个例子:
如果 xType
是 2,我想计算一个叫 yType
的变量,让它对应于在数组y中的位置值。所以我应该得到 y = 384
。如果 xType = 3
,我应该得到 1024。
我该怎么做呢?
5 个回答
6
如果你想从你给的两个列表中生成一个 dict
(字典),可以使用 zip
函数:
>>> x = [0,2,3,5,6]
>>> y = [64,384,1024,4096,384]
>>> dict(zip(x, y))
{0: 64, 2: 384, 3: 1024, 5: 4096, 6: 384}
还有,别忘了去掉那些分号!
如果你不需要字典这种映射类型,只是想把两个列表中的元素配对,光用 zip
就可以了:
>>> zip(x, y)
[(0, 64), (2, 384), (3, 1024), (5, 4096), (6, 384)]
5
这段话太短了,连Stack Overflow都不让我提交这么简短的回答:
y[x.index(2)]
这段代码会从 y
中返回与 x
列表中位置为 2
或其他给定值对应的元素。
希望这对你有帮助 :)
另外,确实 字典 可能是你需要的东西。试试看使用它们吧。