要列出的 Python 列表

我想等于 a[0]=recv_pak[0], a[1]=recv_pac[1]... 直到 a[4]。recv_pack 列表有 20 个参数,但我只想选择前 4 个参数。我正在使用此代码行,但我有IndexError: list assignment index out of range


错误我该如何解决?


while 1:

   # sock.send(req)

    #print("TX: (%s)" % repr(req))

    rec = sock.recv(BUFFER_SIZE)

    print("RX: (%s)" % repr(rec))

    time.sleep(2)

    break




 print("\nSwitching Plug OFF...")


    recv_pack=struct.unpack('12B',rec)

    print(recv_pack)


    a=[]

    for i in range(0,4):

        a[i]=recv_pack[i]

        print(a[i])


潇潇雨雨
浏览 134回答 3
3回答

肥皂起泡泡

采用 list.append前任:a=[]for i in range(0,4):    a.append(recv_pack[i])    print(a[i])您也可以使用列表 slicing前任:a = recv_pack[:4]print(a)

一只萌萌小番薯

'a' 是一个空列表,但您尝试在第一次迭代中写入元素 [0],该元素尚不存在。请尝试以下操作,将新元素添加到列表的末尾:for i in range(0,4):    a.append(recv_pack[i])     print(a[i])

侃侃无极

现在是简单的pythonic版本:a = recv_pack[:4]这意味着:“给我一个前四个项目的列表recv_pack并将其绑定到名称'a'”
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python