python - multiple iteration of the same list -
i have 1 list of data follows:
from shapely.geometry import box data = [box(1,2,3,4), box(4,5,6,7), box(1,2,3,4)] sublists = [a,b,c] the list 'data' has following sub-lists:
a = box(1,2,3,4) b = box(4,5,6,7) c = box(1,2,3,4) i have check if sub-lists intersect. if intersect should put in 1 tuple; , if not intersect should put in different tuple. expected result is:
result = [(a,c), (b)] how it?
i tried as:
results = [] p,c in zip(data,sub_lists): x in data: if p.intersects(x): ##.intersects return true if overlap else false results.append(c) print results
without downloading shapely, think want lists can replicated strings (or integers):
in [221]: data=['one','two','three'] in [222]: data1=['one','four','two'] in [223]: results=[[],[]] in [224]: in data1: if in data: results[0].append(i) else: results[1].append(i) .....: in [225]: results out[225]: [['one', 'two'], ['four']] replace i in data intersects tests. first sublist of results contains elements of data1 test true. second sublist contains elements false.
your question little confusing in data , sublists appear contain same elements. maybe aren't testing whether a in data (or intersect element of data), whether a intersects other element of [a,b,c], etc.
in case, key collecting results have 2 (or more) slots in results, can put i depending on test. results dictionary, or 2 different variables. e.g. results={'found':[],'lost':[]}.
do need work more on test?
a 'intersects with' of [b,c] b 'intersects with' of [a,c] c 'intersects with' of [a,b]
Comments
Post a Comment