J'ai une structure de liste imbriquée comme ci-dessous. Chacune des 4 structures imbriquées représente pour moi des positions libres. Je veux trouver quels éléments sont présents dans les 4 listes imbriquées. ary=[ [[0, 4], [5, 11]], [[0, 2], [0, 4], [5,10]], [[0, 4], [0, 14], [5,11]], [[0, 4], [0, 14], [5,11]] ] Comme ci-dessus, dans la première liste imbriquée [[0, 4], [5, 11]] , le [0,4] est présent dans tous mais [5,11] ne l'est pas. Par conséquent, ma réponse devrait être [[0,4]] ou même juste [0,4]. Je l'ai fait de deux manières. Solution1 : ary1=ary newlist = [item for items in ary for item in items] x=[i for i in ary[0] if newlist.count(i)== len(ary1)] #OUTPUT is x= [[0,4]] Solution2 : x=[] for u in ary[0]: n=[] n=[1 for t in range(1,len(ary)) if u in ary[t]] if len(ary)-1==len(n): x.append(u) #OUTPUT is x= [[0,4]] Ces deux éléments semblent prendre un temps de calcul similaire lorsqu'ils sont vérifiés à l'aide du profileur de ligne. Et c'est...
Commentaires
Enregistrer un commentaire