我不知道该怎么做。我有一个嵌套列表,我想用它作为函数参数。
功能。
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]
1条答案
按热度按时间xriantvc1#
你必须先把清单打开。
否则,列表参数只是另一个嵌套列表。这个
*
解包比[4, address, 2, 7, 18] + i
. 解包也适用于任何iterablei
鉴于+
需要转换i
到列表(即。,[...] + list(i)
).