Python 数组中有6个元素,但仅显示为1

Python 数组中有6个元素,但仅显示为1,python,arrays,Python,Arrays,我有一个数组: [4, 4, 86, 59, 21, 38] 它包括6个元素 CellNetInfopkt += struct.pack("b" * len(this_or_address_send_array), this_or_address_send_array) 这段代码为数组中的每个元素分配了一个“b”,其中“b”的数量是正确的,但是代码的第二部分,即每个元素分配给每个b的位置不工作,我得到错误: CellNetInfopkt += struct.pack("b" * len(t

我有一个数组:

[4, 4, 86, 59, 21, 38]
它包括6个元素

CellNetInfopkt += struct.pack("b" * len(this_or_address_send_array), this_or_address_send_array)
这段代码为数组中的每个元素分配了一个“b”,其中“b”的数量是正确的,但是代码的第二部分,即每个元素分配给每个b的位置不工作,我得到错误:

 CellNetInfopkt += struct.pack("b" * len(this_or_address_send_array), this_or_address_send_array)
struct.error: pack expected 6 items for packing (got 1)
看起来,虽然它将整个数组作为单个项而不是6个,但问题是如何配置它,使其作为6个不同的值

谢谢

试试这个:

CellNetInfopkt += struct.pack("b" * len(this_or_address_send_array), *this_or_address_send_array)
#  Notice the "*"                                                   ^^^

这被称为。

将数组分配给每个“b”或将数组的每个元素分配给每个“b”?第二个。列表前面的*使函数将6个元素列表视为6个独立的位置参数。