fri*_*hax 1 python mapping list binning
我正在寻找一种有效的方法来映射价值列表
x = [1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)
例如,到另一个列表,包含相同总范围的值列表
z = [[1,2,3], [4,5,6], [7,8,9]].
Run Code Online (Sandbox Code Playgroud)
我需要知道的是基本上索引x中的值对应于z.x[0]=1将对应于z[0],因为它落在z的第一个bin中,其中x[7]=8对应于z[2],因为它落在第三个bin中.
如何为每个x值标识z的子列表的索引?在我的情况下,x有大约50,000个值,z有大约5,000个子列表,我有很多这些列表,所以我正在寻找一种尽可能快的方法.
你可以在这里使用dict:
>>> x = [1,2,3,4,5,6,7,8,9]
>>> z = [[1,2,3], [4,5,6], [7,8,9]]
>>> dic = {y :i for i,a in enumerate(z) for y in a}
>>> dic[7]
2
>>> dic[8]
2
>>> dic[1]
0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |