首页 文章

int pythons有一个函数来编码已排序的整数列表[暂停]

提问于
浏览
-6

在python3中,我有一个排序整数列表,就像这样

[3,4,5,10,11]

我需要在字符串中对此列表进行编码,并尽可能紧凑地进行 . 是否有预先存在的模块可以做到这一点?

我知道bitarray和intset,这对我来说并不起作用

编辑:大多数整数将从0到2000,但在极少数情况下高达100,000 . 输出需要是二进制字符串 .

edit2:我已经有了一个我自己编写的解决方案,基于运行长度编码,我只是想知道是否有一个已 Build 的模块可以做到这一点

edit3:我正在寻找一种使用输入知识的压缩方法:排序的小整数列表

1 回答

  • 0

    如果您不关心字符串的外观,请尝试使用 pickle 模块:

    import pickle
    x = [3,4,5,10,11]
    
    compressed_string = pickle.dumps(x)
    print(compressed_string)
    # b'\x80\x03]q\x00(K\x03K\x04K\x05K\nK\x0be.'
    
    uncompressed_string = pickle.loads(compressed_string)
    print(uncompressed_string)
    # [3, 4, 5, 10, 11]
    

相关问题