python - Simpler Way of Creating Lists from other Lists -


i have 3 lists: x, y, , z. same size, need create new lists of x, y, , z, depending on value @ each index of z, shown below:

xnew = [] ynew = [] znew = [] = 0 value in z:     if value > 0:         xnew.append(x[i])         ynew.append(y[i])         znew.append(z[i])     += 1 

does know if there tidier, perhaps more efficient, way of performing above computation?

probably straightforward way:

it = zip(x, y, z) xnew, ynew, znew = zip(*(t t in if t[-1] > 0)) 

we use the zip function twice restore original structure of data.


zip(x, y, z) creates new iterator object, yields triples.

(t t in if t[-1] > 0) filters triples (t[-1] value).

zip(*(...)) yields 3 tuples , xnew, ynew , znew receive them.


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -