Python的结构与大名单

Python的结构与大名单

问题描述:

我试着将我很长的整数列表保险业监督二进制数组(列表) 进出口使用struct.pack()和它的作品很好,但我认为这是非常难看:Python的结构与大名单

buf = pack(">IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII", *data) 

我需要这样做,因为我的列表中有113个大小值不等的项目。是否有一个选项可以使用pack()而不用113的“I”?

如果你乘以一个整数的字符串,该字符串会重复多次。例如:

>>> 'foo'*3 
'foofoofoo' 

所以,你可以使用:

buf = pack(">" + "I"*len(data), *data) 

这是更优雅和安全以及:如果对象改变的数量,这将只是继续工作。