1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   |  
global_list=[[('N1', 'P1', 0, 'PCS1'), ('N1', 'P1', 1, 'PCS2'), ('N1', 'P1', 0, 'PCS3')], [('N2', 'P2', 0, 'PCS1'), ('N2', 'P2', 0, 'PCS2')]]
condition=(2,0, 3, '_')
def condition_traitement(global_list, condition):
	"""filtre les tuple des listes de facon à remplir les condition transmises
        Les conditions sont sous la forme d'un tuple de 4 elements
        elemt1 -> position dans le tuple de la condition à vérifier
        elemt2 -> condition à remplir
        elemt3 -> position du champs affecter par cette condition
        elemt4 -> conduite à tenir en cas ou la condition est remplie
        
        entree : global_list=liste de liste de tuple de la requete
                                condition=tuple de traitement de la condition
        
        sortie : liste avec les condition vérifiées et triees
        """
 
	#pour chaque liste de la liste
	for member_list in global_list:
	        #pour chaque tuple de la liste
		for member_tuple in member_list:
			#tranformer le tuple en liste pour pouvoir effectuer les modifs
			member_tuple=list(member_tuple)
			#si condition remplie
			if member_tuple[condition[0]]==condition[1]:
				#transformer l'element affecter par la condition
				member_tuple[condition[2]]=condition[3]
			#supprimer l'element test de condition
			del member_tuple[condition[0]]
			#tranformer la liste en tuple pour securite
			member_tuple=tuple(member_tuple)
	#retourner la liste modifiee
	return global_list | 
Partager