How to identify which numbers in a list are within each others' range
attn.steven.kuo at gmail.com
attn.steven.kuo at gmail.com
Thu Jan 31 17:58:42 EST 2008
On Jan 31, 2:48 pm, "attn.steven.... at gmail.com"
<attn.steven.... at gmail.com> wrote:
> On Jan 31, 8:12 am, erikcw <erikwickst... at gmail.com> wrote:
>
> One way would be to use sets and check for intersection:
>
> for idx, s in enumerate(mysets):
> for next_idx, next_s in enumerate(mysets[idx+1:]):
> if s.intersection(next_s):
> print "mylist[%d] and mylist[%d] intersect" % (
> idx, idx + next_idx + 1 )
>
Um, that would have been more helpful if I hadn't forgotten
to preface that with:
mylist = [(55, 58, 52), (20, 22, 18), (17, 21, 13), (60, 63, 57),]
mysets = [set(range(x[2],x[1])) for x in mylist]
--
Cheers,
Steven
More information about the Python-list
mailing list