Python 具有大列表的结构
Python struct with large list
我正在尝试将我的非常长的整数列表转换为二进制数组(列表)
我正在使用 struct.pack() 并且效果很好,但我认为这非常难看:
buf = pack(">IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII", *data)
我需要这样做,因为我的列表有 113 个具有大小值的项目。是否可以选择在没有 113 "I" 的情况下将 pack() 与长列表一起使用?
如果您将一个字符串与一个整数相乘,则该字符串会重复多次。例如:
>>> 'foo'*3
'foofoofoo'
所以你可以使用:
buf = pack(">" + "I"*len(data), *data)
这也更优雅和安全:如果对象数量发生变化,这将继续工作。
我正在尝试将我的非常长的整数列表转换为二进制数组(列表) 我正在使用 struct.pack() 并且效果很好,但我认为这非常难看:
buf = pack(">IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII", *data)
我需要这样做,因为我的列表有 113 个具有大小值的项目。是否可以选择在没有 113 "I" 的情况下将 pack() 与长列表一起使用?
如果您将一个字符串与一个整数相乘,则该字符串会重复多次。例如:
>>> 'foo'*3
'foofoofoo'
所以你可以使用:
buf = pack(">" + "I"*len(data), *data)
这也更优雅和安全:如果对象数量发生变化,这将继续工作。