Bonjour

Débutant sous python, je souhaiterais savoir s'il est possible d'optimiser une partie d'un code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
a=arange(0.,180.)

b=arange(0.,360.)


rows=len(a)

cols=len(b)

#plot_test=array([[0.]*7]*(cols*rows))
plot_test=array([0.]*(cols*rows))


a =flipud(repeat(a,cols))

b =tile(b,rows)

print b, a



for i in range(0,len(a)):
    cond1 = a[i]>=(tab[:,2])
    
    cond2 = a[i]<(tab[:,8])
    
    cond3 = b[i]>=(tab[:,1])
    
    cond4 = b[i]<(tab[:,3])
    
    cond = cond1 & cond2 & cond3 & cond4
    
    ligne = tab[cond]
stop


est il possible d'écrire cette partie de code en rouge sans la boucle for

merci par avance

je tiens à préciser que le code marche (je n'ai fourni qu'une partie, il n'y a pas la partie traitement des données qui donne le tab) mais je souhaiterais que ça aille plus vite. A partir d'un test avec une fonction time, c'est la partie en rouge qui est trop lente. Merci