如何解决Python元组解压缩问题
|sendnpc = (npc2alive,Orinpc3,Posnpc3)
Data = dumps((PosYou,OriYou,Shoot,txtt,Posnpc,Orinpc,npcalive,Posnpc2,Orinpc2,sendnpc))
我正在将此材料发送到另一台计算机,问题是我在打开包装时。
脚本的解压缩部分如下所示:
Data,SRIP = GameLogic.sClient.recvfrom(1024)
UPData = loads(Data)
PosServer = [UPData[0][0],UPData[0][1],UPData[0][2]]
OriServer = [UPData[1][0],UPData[1][1],UPData[1][2]]
Server.setPosition(PosServer)
Server.setOrientation(OriServer)
Server.KeySens = UPData[2]
Pump1Shoot = UPData[2]
txt1.Text = UPData[3]
text = text + UPData[3]
Posnpc = [UPData[4][0],UPData[4][1],UPData[4][2]]
Orinpc = [UPData[5][0],UPData[5][1],UPData[5][2]]
npc.setPosition(Posnpc)
npc.setOrientation(Orinpc)
npcalives = UPData[6]
Posnpc2 = [UPData[7][0],UPData[7][1],UPData[7][2]]
Orinpc2 = [UPData[8][0],UPData[8][1],UPData[8][2]]
npc2.setPosition(Posnpc2)
npc2.setOrientation(Orinpc2)
npc2alives = UPData[9][0]
Posnpc3 = [UPData[9][1][0],UPData[9][1][1],UPData[9][1][2]]
Orinpc3 = [UPData[9][2][0],UPData[9][2][1],UPData[9][2][2]]
npc3.setPosition(Posnpc3)
npc3.setOrientation(Orinpc3)
解压缩部分一直有效,直到我从接收到的数据(位于元组中)到达第9个变量为止。问题在于,因为我发送了嵌套在另一个元组中的元组,所以当我打开它的包装时,它看起来像这样:
PosYou,Orinpc2(npc2alive,Posnpc3)
现在我的问题很简单,如何正确解压?
解决方法
嵌套LHS元组。
>>> a,b,(c,d,e) = [1,2,[3,4,5]]
>>> a
1
>>> b
2
>>> c
3
>>> d
4
>>> e
5
,我注意到,在大多数情况下,位置位于方向之前。但是,在最后一个元组中,您的位置在位置之前:(npc2alive,Orinpc3,Posnpc3)
。打开包装时,您会无意间将两者互换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。