supernova.py 文件源码

python
阅读 47 收藏 0 点赞 0 评论 0

项目:cellranger 作者: 10XGenomics 项目源码 文件源码
def nice_labels ( numbers ):
    suffixes = ['', 'K', 'M', 'G']
    suff_len = []
    ## figure out which suffix gives us the shortest label length
    for i, suff in enumerate( suffixes ):
        test   = [float(y)/(1000.0**i) for y in numbers]
        labels = ["%d%s"% (int(y), suff) for y in test]
        ## make sure that in the new representation there are no
        ## degenerate cases
        if len(set(labels)) == len(labels):
            suff_len.append( (sum(map(len, labels)), i) )
    ## if we fail to find any satisfactory suffixes, just use defaults
    if len(suff_len) == 0:
        return map(str, numbers), 0
    else:
        suff_len.sort()
        i = suff_len[0][1]
        labels = ["%d%s"% (int(float(y)/(1000.0**i)), suffixes[i]) for y in numbers]
    return labels, i
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号