On Monday, February 3, 2020 at 9:46:43 PM UTC+3:30, Peter Otten wrote: > Parisa Ch wrote: > > > x=np.linspace(0,2*math.pi,n) > > n=len(x) > > r=int(math.ceil(f*n)) > > h=[np.sort(np.abs(x-x[i]))[r] for i in range(n)] > > > > this is part of a python code. the last line is confusing? x is a matrix > > and x[i] is a number. how calculate x-x[i] for each i? > > why the put r in [] ? >
thank you so much > Brake it appart: > > y = x - x[i] # the numpy feature that makes that possible is called > # "broadcasting" > > subtracts the value x[i] from every entry in the vector x > > z = np.abs(y) > > calculates the absolute value of every entry in y. > > t = np.sort(z) > > sorts the values in z and finally, assuming r is an integer, > > u = t[r] > > looks up a single scalar in the vector. > > The enclosing "list comprehension" [expr for item in iterable] builds a list > of n values calculated as sketched above. -- https://mail.python.org/mailman/listinfo/python-list