【问题标题】:Compare object with the keys in python dictionary/hashtable将对象与 python 字典/哈希表中的键进行比较
【发布时间】:2012-09-26 19:10:40
【问题描述】:

也许我的标题可能会产生误导,但让我澄清一下我的问题:

这是一个列表:

chr1:100-200 100 100
chr1:350-500 150 250
chr1:780-880 100 350
chr1:900-950 50  400

所以基本上第一列是坐标范围,第二列是区间长度(第一列两个坐标之间的减法),第三列是区间长度的累加。

现在我有一个数字,比如说 120。我需要做的是:因为 100

希望我已经说清楚了。我想我应该使用字典或哈希表来解决问题,但这里涉及将我的对象与键进行比较;我不知道该怎么做。

非常感谢

【问题讨论】:

  • 到目前为止你写过代码吗??
  • 不....因为我不知道该怎么做;我以前从来没有遇到过这样的问题。

标签: python dictionary hashtable


【解决方案1】:

其实没有。

>>> ranges = ['chr1:100-200', 'chr1:350-500', 'chr1:780-880', 'chr1:900-950']
>>> accums = [100, 250, 350, 400]
>>> ranges[bisect.bisect_left(accums, 120)]
'chr1:350-500'
>>> ranges[bisect.bisect_left(accums, 360)]
'chr1:900-950'

【讨论】:

    猜你喜欢
    • 2013-12-21
    • 2015-10-26
    • 2017-04-25
    • 2017-06-21
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    相关资源
    最近更新 更多