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