python中函数参数的使用列表

628mspwn  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(363)

我不知道该怎么做。我有一个嵌套列表,我想用它作为函数参数。
功能。

pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, {commands} ])

我想循环浏览列表,最终结果如下所示。

NestedList = [[1,2,3,4,5,6,7,8],[2,0,2,0,2,0],[0,0,1,1,0,0]]

pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, 1,2,3,4,5,6,7,8 ])
pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, 2,0,2,0,2,0 ])
pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, 0,0,1,1,0,0 ])

如果我试着用这个;

for i in NestedList:
  pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, i ])

我犯了这个错误;typeerror:需要大小为1的整数或字符串
这是因为函数需要字节,而上面的循环放在实际的字节列表中。。例如 pi.bb_i2c_zip(SDA, [4, address, 2, 7,18,[1,2,3,4,5,6,7,8]]) 总之,我该如何放置; 1,2,3,4,5,6,7,8 进入函数,而不是这个 [1,2,3,4,5,6,7,8]

xriantvc

xriantvc1#

你必须先把清单打开。

for i in NestedList:
  pi.bb_i2c_zip(SDA, [4, address, 2, 7,18, *i ])

否则,列表参数只是另一个嵌套列表。这个 * 解包比 [4, address, 2, 7, 18] + i . 解包也适用于任何iterable i 鉴于 + 需要转换 i 到列表(即。, [...] + list(i) ).

相关问题