Python,匹配两个列表的元素

kal*_*kal 1 python list elements matching

x= [0,2,3,5,6];
y= [64,384,1024,4096,384];
Run Code Online (Sandbox Code Playgroud)

以上是我正在使用的两个数组.我试图以pythonic方式将元素匹配在一起

例:

如果xType是2,我想计算一个被调用的变量,yType以对应y中的值(位置明智).所以我应该得到y = 384.如果xType = 3我应该得到1024.

我该怎么做呢?

sen*_*rle 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}
Run Code Online (Sandbox Code Playgroud)

并摆脱那些分号!

如果您不需要映射类型,但只想创建项目对,则zip单独执行:

>>> zip(x, y)
[(0, 64), (2, 384), (3, 1024), (5, 4096), (6, 384)]
Run Code Online (Sandbox Code Playgroud)


Tad*_*eck 5

这是如此之短,甚至Stack Overflow都不允许我提交这么简短的回答:

y[x.index(2)]
Run Code Online (Sandbox Code Playgroud)

这将从列表中返回y对应于位置2或任何其他给定值的元素x.

希望它有帮助:)

PS.确实,字典可能是你需要的东西.尝试使用它们.