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.
我该怎么做呢?
如果您的具体目标是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)
这是如此之短,甚至Stack Overflow都不允许我提交这么简短的回答:
y[x.index(2)]
Run Code Online (Sandbox Code Playgroud)
这将从列表中返回y
对应于位置2
或任何其他给定值的元素x
.
希望它有帮助:)
PS.确实,字典可能是你需要的东西.尝试使用它们.
归档时间: |
|
查看次数: |
5355 次 |
最近记录: |