[英]Separating/accessing a triple tuple list like [[[x,y],z],p]?
我正在嘗試訪問存儲在python三元組列表中的變量,但不確定如何執行。 我希望能夠在for循環中瀏覽列表,並從每個元組獲取x,y,x,&p。 我該怎么辦?
MovesList = [ [[[1,2],3],1] , [[[2,5],3],1] , [[[1,3],0],2] ]
您可以在遍歷元組時解壓縮它們:
Python 2:
>>> for ((x,y),z),p in MovesList:
... print x, y, z, p
Python 3:
>>> for ((x,y),z),p in MovesList:
... print(x,y,z,p)
兩者都會導致:
1 2 3 1
2 5 3 1
1 3 0 2
與列表理解相同的解壓縮
In [202]: [[x,y,z,p] for ([[x,y],z],p) in MovesList]
Out[202]: [[1, 2, 3, 1], [2, 5, 3, 1], [1, 3, 0, 2]]
我還發現,可以通過如下所示的while循環來打開沒有有限空間的元組列表:
Mylist = list()
MyOtherList = list()
//list is packed my tuples of four {(a,b,c,d),(a,b,c,d),(a,b,c,d),...}
While MyList[0] != Null:
var w = MyList[0][0]
var x = MyList[0][1]
var y = MyList[0][2]
var z = MyList[0][3]
MyList.Remove(w,x,y,z)
//do something with w,x,y,z based upon use
MyOtherList = getMoreListItems(w,x,y,z)
MyList.extend(MyOtherList)
當您要遍歷的列表中充滿了所有相同大小的元組時,可以使用此方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.